Change gl_DrawID from level = ESSL1+ESSL3 to COMMON

Built in variable gl_DrawID is exposed to ESSL1 with
a suffix, when the variable is the exact same. No need
to do this.

Bug: angleproject:3805
Change-Id: I63c71791bb6a0e8aa7b644171a3f5a81099eddc0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762359
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Clemen Deng <clemendeng@google.com>
diff --git a/scripts/code_generation_hashes/ESSL_static_builtins.json b/scripts/code_generation_hashes/ESSL_static_builtins.json
index 738f372..cbdf829 100644
--- a/scripts/code_generation_hashes/ESSL_static_builtins.json
+++ b/scripts/code_generation_hashes/ESSL_static_builtins.json
@@ -1,20 +1,20 @@
 {
   "src/compiler/translator/ImmutableString_autogen.cpp":
-    "49acb8114f600d8f099a826afcb28935",
+    "0a96956b0168817b28032a567f606940",
   "src/compiler/translator/ParseContext_autogen.h":
     "48f878f5878e8ab239af7c14e5878b62",
   "src/compiler/translator/SymbolTable_autogen.cpp":
-    "bb98f37ed21e89086cc0b9a392a1b168",
+    "e215cb47f2d21e9c2b4b4c8a224fda9d",
   "src/compiler/translator/SymbolTable_autogen.h":
     "bdb3c8eab0d48267a2f264e3af635e1a",
   "src/compiler/translator/builtin_function_declarations.txt":
     "583e23ceaca8d2baeb07694049b68644",
   "src/compiler/translator/builtin_variables.json":
-    "779ab43201aac2ac26017e87331c80d1",
+    "802417116fe4b1391b2d80ad04479cf8",
   "src/compiler/translator/gen_builtin_symbols.py":
     "f8f1c8cc208f5f1bb64cf6921e28e966",
   "src/compiler/translator/tree_util/BuiltIn_autogen.h":
-    "12f125f1b65be3379b08d2cf831a2e3a",
+    "80a911c6701baded2fd8d5567c605669",
   "src/tests/compiler_tests/ImmutableString_test_autogen.cpp":
-    "2769eb6b659d8fa676311157f947aecd"
+    "c7c54d5374ccf145a11bd91035b92a5c"
 }
\ No newline at end of file
diff --git a/src/compiler/translator/ImmutableString_autogen.cpp b/src/compiler/translator/ImmutableString_autogen.cpp
index 9e3be35..dc1662d 100644
--- a/src/compiler/translator/ImmutableString_autogen.cpp
+++ b/src/compiler/translator/ImmutableString_autogen.cpp
@@ -34,322 +34,322 @@
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    1818, 0,    1434, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    1730, 0,    0,    0,    0,    0,    0,    0,    0,
+    0,    1819, 0,    1432, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+    0,    0,    0,    0,    0,    0,    0,    1731, 0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    124,  0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    1213, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    1016,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    1524, 0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    3656,
-    0,    4388, 0,    0,    0,    0,    0,    0,    0,    0,    654,  459,  0,    0,    0,    518,
-    0,    0,    4761, 0,    0,    2299, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+    0,    1215, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    1018,
+    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    1526, 0,
+    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    3654,
+    0,    4390, 0,    0,    0,    0,    0,    0,    0,    0,    651,  462,  0,    0,    0,    518,
+    0,    0,    4759, 0,    0,    2301, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    1263, 0,    141,  0,    0,    0,
-    16,   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    858,  0,
-    0,    0,    0,    0,    127,  0,    0,    0,    0,    0,    184,  0,    0,    186,  1237, 0,
-    0,    5080, 0,    0,    0,    0,    0,    0,    0,    0,    0,    4927, 428,  0,    0,    0,
-    0,    0,    0,    4102, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    877,  0,
+    16,   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    862,  0,
+    0,    0,    0,    0,    127,  0,    0,    0,    0,    0,    184,  0,    0,    186,  1240, 0,
+    0,    5080, 0,    0,    0,    0,    0,    0,    0,    0,    0,    4926, 431,  0,    0,    0,
+    0,    0,    0,    4103, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    874,  0,
     0,    0,    629,  0,    0,    0,    0,    0,    0,    4796, 0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    334,  0,    4439, 0,    1824,
-    0,    0,    1134, 0,    0,    0,    0,    0,    0,    878,  0,    0,    2978, 0,    0,    0,
-    697,  0,    0,    0,    0,    0,    0,    0,    0,    580,  0,    283,  0,    0,    0,    0,
-    0,    0,    0,    0,    2850, 0,    0,    0,    0,    5022, 0,    0,    0,    4125, 4343, 0,
-    3823, 0,    0,    0,    0,    0,    2272, 0,    0,    0,    1766, 0,    0,    4027, 0,    0,
-    0,    0,    0,    0,    0,    4604, 2203, 0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    2278, 0,    0,    0,    2051, 916,  0,    0,    0,    0,
-    4553, 0,    0,    1807, 0,    0,    0,    0,    0,    0,    0,    2334, 1737, 0,    0,    440,
-    0,    0,    0,    0,    0,    0,    1770, 0,    0,    1879, 0,    0,    653,  0,    0,    379,
-    385,  0,    2243, 0,    0,    0,    0,    1789, 0,    0,    4807, 0,    2320, 0,    1548, 0,
-    0,    0,    0,    0,    0,    0,    1539, 0,    4597, 0,    431,  0,    0,    361,  0,    0,
-    0,    0,    0,    0,    0,    0,    0,    1671, 1303, 0,    1410, 0,    0,    2125, 0,    0,
+    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    334,  0,    4437, 0,    1824,
+    0,    0,    1136, 0,    0,    0,    0,    0,    0,    883,  0,    0,    2978, 0,    0,    0,
+    695,  0,    0,    0,    0,    0,    0,    0,    0,    583,  0,    282,  0,    0,    0,    0,
+    0,    0,    0,    0,    2848, 0,    0,    0,    0,    5022, 0,    0,    0,    4122, 4340, 0,
+    3830, 0,    0,    0,    0,    0,    2272, 0,    0,    0,    1768, 0,    0,    4024, 0,    0,
+    0,    0,    0,    0,    0,    4603, 2203, 0,    0,    0,    0,    0,    0,    0,    0,    0,
+    0,    0,    0,    0,    0,    0,    2278, 0,    0,    0,    2046, 918,  0,    0,    0,    0,
+    4553, 0,    0,    1808, 0,    0,    0,    0,    0,    0,    0,    2334, 1739, 0,    0,    440,
+    0,    0,    0,    0,    0,    0,    1773, 0,    0,    1880, 0,    0,    656,  0,    0,    379,
+    385,  0,    2244, 0,    0,    0,    0,    1792, 0,    0,    4806, 0,    2325, 0,    1550, 0,
+    0,    0,    0,    0,    0,    0,    2472, 0,    4596, 0,    430,  0,    0,    360,  0,    0,
+    0,    0,    0,    0,    0,    0,    0,    1672, 1301, 0,    1406, 0,    0,    2130, 0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    227,  0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    514,  0,    1006, 0,    0,
-    0,    5016, 0,    0,    0,    1493, 548,  0,    0,    0,    0,    0,    1028, 0,    0,    0,
-    652,  0,    0,    0,    0,    0,    0,    2468, 0,    3943, 0,    0,    0,    0,    0,    957,
-    235,  4683, 0,    0,    0,    0,    1532, 4602, 0,    0,    2011, 4096, 0,    0,    0,    0,
-    0,    1019, 0,    4867, 1416, 0,    2588, 1629, 0,    0,    1521, 513,  761,  1102, 1736, 0,
-    0,    0,    0,    0,    0,    440,  0,    0,    4719, 0,    4496, 1764, 0,    0,    0,    0,
-    0,    0,    4922, 0,    1187, 0,    0,    0,    0,    0,    0,    0,    1125, 4967, 0,    4001,
-    0,    0,    0,    0,    0,    2178, 0,    0,    0,    3133, 1946, 0,    0,    0,    0,    0,
-    0,    0,    2686, 0,    909,  850,  0,    0,    5041, 0,    0,    0,    0,    0,    0,    0,
-    295,  2214, 1678, 0,    0,    0,    0,    0,    0,    533,  1261, 1085, 0,    0,    0,    0,
-    0,    0,    0,    0,    1590, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    3915, 0,    0,    0,    0,    0,    0,    3915, 0,    1311, 0,    0,
-    0,    0,    0,    0,    0,    0,    0,    2622, 136,  2907, 0,    2084, 3909, 0,    0,    119,
-    0,    0,    0,    1052, 0,    0,    0,    0,    0,    0,    0,    333,  1156, 0,    0,    0,
-    0,    0,    0,    0,    0,    0,    32,   0,    0,    0,    0,    855,  0,    0,    0,    0,
-    0,    0,    0,    0,    2891, 0,    0,    0,    1539, 1222, 0,    0,    0,    122,  0,    0,
-    0,    0,    3869, 858,  1003, 4960, 0,    0,    344,  0,    1184, 0,    1320, 2919, 0,    3922,
-    762,  0,    5089, 0,    0,    3237, 0,    4256, 4840, 2187, 0,    0,    0,    2309, 2824, 0,
-    0,    890,  275,  1773, 595,  1507, 0,    3549, 1638, 4080, 290,  117,  0,    0,    2154, 0,
-    0,    0,    0,    0,    0,    3750, 0,    0,    0,    0,    3257, 260,  0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    380,  4934, 0,
-    1850, 4775, 0,    0,    4641, 294,  0,    0,    4574, 0,    3764, 1347, 607,  0,    1628, 0,
-    0,    2043, 0,    5042, 1428, 0,    1677, 0,    0,    0,    0,    0,    0,    0,    0,    2002,
-    0,    1314, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    524,  0,
-    5059, 0,    0,    0,    0,    0,    0,    0,    106,  354,  0,    0,    919,  0,    2845, 0,
-    2909, 4940, 0,    0,    580,  1167, 0,    64,   0,    0,    1288, 0,    0,    0,    907,  0,
-    0,    0,    0,    0,    0,    0,    4018, 1844, 0,    2291, 0,    1875, 0,    1743, 1133, 0,
-    0,    0,    0,    588,  0,    0,    0,    1403, 3347, 0,    0,    0,    0,    0,    4648, 0,
-    0,    0,    0,    0,    0,    733,  1804, 0,    0,    0,    4181, 0,    0,    0,    3637, 0,
-    0,    0,    1425, 0,    1881, 0,    0,    0,    231,  0,    0,    0,    0,    0,    168,  0,
-    0,    0,    1525, 0,    1876, 428,  0,    0,    2315, 5057, 0,    0,    0,    3742, 0,    210,
-    193,  0,    684,  1588, 0,    4129, 1051, 0,    0,    0,    0,    1243, 4585, 0,    0,    1476,
-    0,    0,    1620, 0,    4898, 133,  0,    0,    0,    4575, 0,    0,    0,    0,    0,    3049,
-    0,    0,    0,    0,    0,    1166, 4980, 0,    0,    2277, 3721, 0,    0,    0,    522,  214,
-    0,    3676, 0,    0,    0,    4709, 0,    0,    530,  0,    0,    0,    0,    0,    0,    0,
-    269,  0,    2226, 0,    610,  0,    0,    3579, 0,    0,    4045, 0,    0,    0,    0,    0,
-    4018, 0,    0,    0,    0,    0,    831,  0,    0,    2954, 3786, 4840, 0,    0,    0,    0,
-    0,    0,    0,    0,    0,    2536, 0,    0,    2524, 0,    2600, 0,    678,  0,    2044, 0,
-    0,    1056, 0,    0,    4881, 2302, 0,    0,    2664, 0,    0,    1639, 1812, 4686, 1033, 0,
-    0,    0,    511,  0,    0,    0,    0,    0,    0,    765,  0,    4158, 0,    1758, 0,    0,
-    4987, 1641, 0,    0,    2765, 0,    0,    0,    0,    1286, 0,    2195, 3140, 0,    2382, 313,
-    0,    0,    2991, 0,    0,    0,    3432, 1460, 0,    0,    2198, 0,    838,  0,    0,    0,
-    0,    2347, 320,  3184, 0,    0,    0,    0,    921,  234,  0,    0,    4996, 0,    1624, 129,
-    1461, 0,    203,  0,    1070, 0,    1595, 0,    0,    529,  0,    0,    3900, 0,    4586, 1156,
-    0,    0,    0,    0,    0,    0,    1169, 0,    4624, 0,    0,    0,    0,    0,    0,    4542,
-    0,    0,    0,    0,    1447, 1507, 1462, 0,    0,    4369, 0,    0,    1177, 2207, 0,    0,
-    1153, 0,    3588, 0,    1296, 568,  0,    0,    0,    0,    0,    0,    0,    366,  0,    0,
-    1308, 4733, 0,    0,    308,  0,    0,    0,    0,    0,    4280, 0,    1614, 0,    3800, 656,
-    1762, 0,    0,    4898, 1478, 3173, 0,    1496, 0,    1863, 0,    0,    0,    4471, 0,    79,
-    0,    1315, 628,  0,    0,    4165, 0,    533,  1305, 2120, 0,    0,    805,  1722, 0,    0,
-    0,    0,    0,    0,    0,    3948, 0,    4635, 0,    0,    0,    0,    0,    4313, 376,  0,
-    0,    0,    0,    0,    814,  4929, 4653, 4722, 0,    0,    2680, 453,  0,    256,  178,  0,
-    0,    2346, 2528, 2535, 0,    1394, 0,    821,  0,    853,  0,    1330, 0,    0,    1945, 369,
-    2246, 0,    699,  0,    0,    0,    1382, 0,    0,    0,    0,    0,    0,    2196, 690,  0,
-    0,    0,    0,    1612, 0,    4897, 4407, 753,  0,    3647, 0,    0,    97,   0,    0,    1070,
-    0,    0,    2449, 0,    0,    0,    0,    0,    0,    960,  0,    1318, 0,    82,   0,    0,
-    0,    0,    0,    0,    0,    633,  1095, 1509, 0,    0,    0,    0,    0,    2976, 725,  99,
-    950,  1755, 3516, 4652, 0,    1336, 0,    4604, 0,    0,    4469, 4266, 0,    1086, 4484, 0,
-    0,    2714, 1725, 121,  0,    4589, 0,    0,    0,    0,    390,  0,    1264, 0,    0,    0,
-    0,    1048, 0,    0,    0,    0,    0,    0,    0,    23,   1082, 0,    0,    0,    2294, 3387,
-    0,    0,    0,    3830, 1332, 0,    0,    0,    0,    0,    0,    4603, 0,    0,    0,    0,
+    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    514,  0,    1010, 0,    0,
+    0,    5017, 0,    0,    0,    1490, 552,  0,    0,    0,    0,    0,    1029, 0,    0,    0,
+    652,  0,    0,    0,    0,    0,    0,    2464, 0,    3943, 0,    0,    0,    0,    0,    959,
+    235,  4679, 0,    0,    0,    0,    1534, 4602, 0,    0,    2012, 4094, 0,    0,    0,    0,
+    0,    1021, 0,    4868, 1419, 0,    2590, 1630, 0,    0,    1523, 1253, 761,  1105, 1737, 0,
+    0,    0,    0,    0,    0,    438,  0,    0,    4717, 0,    4493, 1766, 0,    0,    0,    0,
+    0,    0,    4923, 0,    1190, 0,    0,    0,    0,    0,    0,    0,    1127, 4967, 0,    3999,
+    0,    0,    0,    0,    0,    2178, 0,    0,    0,    3138, 1947, 0,    0,    0,    0,    0,
+    0,    0,    2687, 0,    910,  851,  0,    0,    5041, 0,    0,    0,    0,    0,    0,    0,
+    295,  2216, 1680, 0,    0,    0,    0,    0,    0,    533,  1264, 1084, 0,    0,    0,    0,
+    0,    0,    0,    0,    1592, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+    0,    0,    0,    0,    3919, 0,    0,    0,    0,    0,    0,    3918, 0,    1314, 0,    0,
+    0,    0,    0,    0,    0,    0,    0,    4545, 136,  2906, 0,    2082, 3908, 0,    0,    126,
+    0,    0,    0,    1055, 0,    0,    0,    0,    0,    0,    0,    334,  1154, 0,    0,    0,
+    0,    0,    0,    0,    0,    0,    37,   0,    0,    0,    0,    4027, 0,    0,    0,    0,
+    0,    0,    0,    0,    2891, 0,    0,    0,    1540, 1225, 0,    0,    0,    122,  0,    0,
+    0,    0,    3866, 857,  1003, 4959, 0,    0,    347,  0,    1185, 0,    1323, 2918, 0,    3920,
+    762,  0,    5089, 0,    0,    3236, 0,    4253, 4838, 2189, 0,    0,    0,    2312, 2824, 0,
+    0,    893,  275,  1775, 595,  1509, 0,    3551, 1639, 4083, 290,  115,  0,    0,    2156, 0,
+    0,    0,    0,    0,    0,    3752, 0,    0,    0,    0,    3262, 260,  0,    0,    0,    0,
+    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    379,  4935, 0,
+    1851, 4776, 0,    0,    4643, 294,  0,    0,    4578, 0,    3763, 1349, 605,  0,    1630, 0,
+    0,    2044, 0,    5042, 1429, 0,    1679, 0,    0,    0,    0,    0,    0,    0,    0,    2003,
+    0,    1315, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    523,  0,
+    5059, 0,    0,    0,    0,    0,    0,    0,    105,  357,  0,    0,    920,  0,    2848, 0,
+    2912, 4941, 0,    0,    578,  1170, 0,    64,   0,    0,    1291, 0,    0,    0,    908,  0,
+    0,    0,    0,    0,    0,    0,    4024, 1845, 0,    2291, 0,    1876, 0,    1745, 1132, 0,
+    0,    0,    0,    588,  0,    0,    0,    1404, 3350, 0,    0,    0,    0,    0,    4650, 0,
+    0,    0,    0,    0,    0,    735,  1805, 0,    0,    0,    4180, 0,    0,    0,    3635, 0,
+    0,    0,    1422, 0,    1882, 0,    0,    0,    233,  0,    0,    0,    0,    0,    167,  0,
+    0,    0,    1525, 0,    1881, 428,  0,    0,    2315, 5057, 0,    0,    0,    3737, 0,    209,
+    195,  0,    684,  1590, 0,    4127, 1049, 0,    0,    0,    0,    1246, 4585, 0,    0,    1478,
+    0,    0,    1622, 0,    4898, 134,  0,    0,    0,    4573, 0,    0,    0,    0,    0,    3052,
+    0,    0,    0,    0,    0,    1169, 4981, 0,    0,    2277, 3719, 0,    0,    0,    526,  212,
+    0,    3673, 0,    0,    0,    4709, 0,    0,    530,  0,    0,    0,    0,    0,    0,    0,
+    269,  0,    2226, 0,    606,  0,    0,    3583, 0,    0,    4042, 0,    0,    0,    0,    0,
+    4014, 0,    0,    0,    0,    0,    825,  0,    0,    2952, 3782, 4842, 0,    0,    0,    0,
+    0,    0,    0,    0,    0,    2537, 0,    0,    2524, 0,    2604, 0,    678,  0,    2045, 0,
+    0,    1058, 0,    0,    4883, 2302, 0,    0,    2665, 0,    0,    1641, 1811, 4687, 1033, 0,
+    0,    0,    511,  0,    0,    0,    0,    0,    0,    765,  0,    4156, 0,    1758, 0,    0,
+    4987, 1642, 0,    0,    2761, 0,    0,    0,    0,    1289, 0,    2195, 3143, 0,    2384, 313,
+    0,    0,    2989, 0,    0,    0,    1511, 1461, 0,    0,    2201, 0,    838,  0,    0,    0,
+    0,    2349, 320,  3184, 0,    0,    0,    0,    922,  234,  0,    0,    4996, 0,    1626, 129,
+    1462, 0,    203,  0,    1072, 0,    1597, 0,    0,    531,  0,    0,    3903, 0,    4587, 1156,
+    0,    0,    0,    0,    0,    0,    1172, 0,    4621, 0,    0,    0,    0,    0,    0,    4545,
+    0,    0,    0,    0,    1449, 1501, 1464, 0,    0,    4367, 0,    0,    1180, 2207, 0,    0,
+    1149, 0,    3586, 0,    1301, 567,  0,    0,    0,    0,    0,    0,    0,    365,  0,    0,
+    1311, 4729, 0,    0,    312,  0,    0,    0,    0,    0,    4283, 0,    1616, 0,    4708, 656,
+    1761, 0,    0,    4898, 1480, 3168, 0,    1498, 0,    1864, 0,    0,    0,    4471, 0,    79,
+    0,    1315, 627,  0,    0,    4163, 0,    534,  1307, 2121, 0,    0,    805,  1726, 0,    0,
+    0,    0,    0,    0,    0,    3947, 0,    4636, 0,    0,    0,    0,    0,    4315, 376,  0,
+    0,    0,    0,    0,    814,  4927, 4654, 4721, 0,    0,    2679, 453,  0,    256,  180,  0,
+    0,    2352, 2528, 2534, 0,    1397, 0,    822,  0,    854,  0,    1328, 0,    0,    1946, 365,
+    2246, 0,    699,  0,    0,    0,    1382, 0,    0,    0,    0,    0,    0,    2199, 690,  0,
+    0,    0,    0,    1609, 0,    4896, 4405, 757,  0,    3653, 0,    0,    96,   0,    0,    1067,
+    0,    0,    2451, 0,    0,    0,    0,    0,    0,    962,  0,    1320, 0,    79,   0,    0,
+    0,    0,    0,    0,    0,    633,  1098, 1513, 0,    0,    0,    0,    0,    2977, 725,  99,
+    952,  1757, 3515, 4653, 0,    1339, 0,    4605, 0,    0,    4466, 4266, 0,    1088, 4487, 0,
+    0,    2713, 1730, 118,  0,    4590, 0,    0,    0,    0,    390,  0,    1267, 0,    0,    0,
+    0,    1047, 0,    0,    0,    0,    0,    0,    0,    27,   1085, 0,    0,    0,    2294, 3386,
+    0,    0,    0,    3829, 1335, 0,    0,    0,    0,    0,    0,    4604, 0,    0,    0,    0,
     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    4756, 1483, 2077, 0,    4616, 0,    0,    4393, 4664, 2297, 0,    4401, 765,  0,    2648,
-    0,    0,    0,    370,  1877, 0,    4295, 1421, 2778, 0,    0,    1992, 0,    0,    1087, 0,
-    1360, 0,    115,  2073, 915,  0,    0,    0,    1056, 0,    0,    0,    256,  4470, 0,    739,
-    790,  0,    0,    0,    623,  0,    2814, 0,    0,    624,  0,    146,  545,  0,    0,    0,
-    0,    4439, 2670, 0,    1843, 0,    0,    0,    0,    0,    0,    0,    4939, 0,    0,    0,
-    0,    0,    0,    285,  0,    0,    705,  809,  0,    0,    1210, 0,    0,    0,    0,    894,
-    0,    2283, 3160, 157,  0,    4359, 0,    0,    0,    1157, 1347, 773,  3603, 899,  1455, 2106,
-    884,  0,    0,    0,    0,    0,    0,    0,    0,    0,    1236, 1267, 1689, 4680, 2150, 0,
-    0,    0,    0,    804,  0,    0,    101,  4842, 0,    0,    0,    0,    2201, 578,  0,    986,
-    235,  3190, 0,    0,    445,  177,  670,  3853, 0,    0,    0,    0,    0,    0,    0,    3237,
-    5074, 0,    0,    0,    0,    0,    1746, 1689, 0,    0,    4212, 891,  0,    2152, 0,    158,
-    0,    0,    0,    1679, 0,    4552, 0,    0,    0,    0,    0,    0,    0,    0,    1719, 0,
-    0,    0,    0,    263,  0,    1502, 0,    0,    3730, 0,    2302, 0,    0,    0,    0,    867,
-    0,    0,    0,    4839, 0,    2208, 3253, 382,  2638, 0,    0,    4062, 0,    165,  0,    0,
-    0,    4687, 0,    0,    361,  0,    70,   4818, 4714, 0,    0,    0,    1154, 2655, 4481, 294,
-    75,   4443, 0,    4699, 0,    257,  0,    0,    0,    530,  0,    755,  0,    2177, 0,    0,
-    0,    0,    0,    4828, 4498, 0,    0,    0,    0,    589,  0,    0,    1266, 0,    0,    0,
-    0,    0,    0,    0,    2255, 0,    1760, 0,    1027, 0,    0,    3256, 0,    0,    0,    0,
-    1774, 0,    0,    688,  0,    0,    0,    722,  0,    0,    0,    517,  3903, 677,  656,  0,
-    0,    0,    0,    0,    0,    0,    1035, 0,    0,    751,  0,    0,    0,    0,    871,  1031,
-    4601, 0,    4589, 0,    3060, 57,   2839, 3529, 1593, 0,    1584, 0,    267,  2212, 63,   3124,
-    0,    0,    0,    3295, 0,    0,    0,    0,    0,    4237, 1826, 0,    0,    0,    1416, 1654,
-    90,   2169, 0,    2524, 1581, 0,    0,    2609, 0,    2026, 2391, 0,    0,    2493, 0,    0,
-    1073, 72,   863,  0,    0,    0,    0,    1741, 1283, 0,    0,    0,    0,    527,  0,    0,
-    0,    117,  0,    2283, 874,  0,    0,    0,    0,    4095, 0,    0,    0,    3956, 0,    1940,
-    0,    0,    0,    320,  556,  3520, 1986, 0,    0,    0,    0,    0,    1009, 2052, 0,    0,
-    1255, 0,    0,    1918, 558,  0,    1396, 219,  1849, 0,    2125, 3639, 0,    0,    0,    0,
-    0,    0,    675,  1288, 289,  113,  198,  0,    66,   3871, 4492, 0,    0,    3957, 0,    0,
-    1814, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    291,  0,
-    0,    0,    0,    0,    0,    0,    645,  934,  4792, 1925, 0,    0,    0,    0,    1333, 0,
-    4924, 3427, 3615, 212,  666,  0,    0,    0,    1563, 0,    4659, 0,    977,  4016, 795,  0,
-    1409, 0,    0,    0,    0,    1344, 465,  396,  0,    0,    3901, 0,    0,    7,    0,    0,
-    0,    4129, 4124, 159,  0,    4809, 0,    0,    416,  2233, 0,    0,    1026, 0,    0,    0,
-    35,   0,    1918, 0,    1007, 0,    465,  1131, 334,  0,    1505, 220,  0,    0,    0,    1768,
-    0,    2130, 0,    3755, 1458, 1969, 0,    0,    0,    0,    0,    0,    0,    1882, 2924, 1101,
-    0,    0,    0,    2876, 0,    0,    0,    2524, 2078, 600,  0,    110,  0,    0,    1637, 0,
-    2738, 3724, 2248, 0,    878,  0,    1147, 0,    1412, 0,    0,    961,  0,    0,    0,    0,
-    0,    0,    647,  0,    4349, 697,  507,  0,    1636, 0,    5023, 0,    0,    0,    0,    0,
-    0,    0,    0,    0,    587,  0,    1309, 2571, 0,    0,    0,    0,    594,  0,    832,  0,
-    426,  4697, 3702, 1499, 0,    0,    1158, 0,    0,    0,    0,    0,    0,    789,  879,  0,
-    0,    2296, 0,    0,    231,  940,  2500, 476,  3389, 0,    0,    2319, 0,    2964, 0,    0,
-    370,  0,    0,    0,    2889, 3363, 2686, 0,    1829, 0,    0,    5031, 0,    0,    0,    0,
-    3126, 0,    291,  0,    2093, 0,    0,    1266, 0,    0,    0,    0,    0,    279,  2173, 0,
-    0,    0,    0,    4330, 1275, 1706, 3,    1713, 338,  4667, 1133, 0,    730,  4519, 1045, 215,
-    0,    1388, 0,    4408, 0,    0,    4109, 4528, 1382, 0,    157,  86,   3921, 1659, 970,  0,
-    1621, 0,    1773, 0,    0,    0,    0,    0,    0,    0,    1366, 0,    0,    0,    377,  651,
-    1243, 0,    1516, 0,    2719, 0,    0,    0,    0,    0,    1418, 748,  0,    0,    0,    119,
-    4055, 2862, 0,    0,    957,  0,    0,    1732, 1998, 10,   4092, 0,    0,    0,    0,    0,
-    3602, 261,  1079, 3015, 4433, 0,    3689, 0,    465,  0,    0,    0,    0,    211,  0,    0,
-    0,    1183, 2766, 1217, 0,    0,    0,    0,    0,    639,  3581, 0,    544,  182,  0,    0,
-    0,    0,    1930, 733,  293,  1420, 1717, 2306, 1745, 0,    2477, 4797, 0,    0,    0,    0,
-    3007, 0,    2167, 0,    0,    0,    0,    642,  657,  1166, 4002, 0,    296,  0,    4830, 1878,
-    826,  0,    0,    0,    1487, 0,    3834, 0,    395,  2058, 0,    0,    0,    178,  0,    0,
-    0,    3593, 2055, 2817, 0,    0,    0,    0,    1265, 0,    0,    0,    0,    3934, 176,  0,
-    47,   196,  0,    0,    0,    312,  934,  0,    4915, 995,  1164, 1061, 0,    2315, 87,   0,
-    0,    3559, 0,    571,  2099, 716,  918,  0,    0,    0,    1631, 1637, 0,    759,  210,  0,
-    2013, 0,    1997, 3026, 0,    0,    0,    0,    459,  4417, 4464, 0,    5040, 3072, 0,    0,
-    0,    974,  1491, 5071, 1020, 0,    1739, 284,  512,  0,    1554, 0,    0,    1733, 605,  0,
-    1419, 0,    0,    0,    2038, 95,   1635, 195,  1862, 1372, 1139, 0,    0,    0,    0,    4553,
-    0,    0,    0,    0,    2501, 657,  3000, 0,    0,    0,    0,    1984, 749,  0,    0,    0,
-    1174, 1076, 694,  0,    75,   1126, 982,  0,    0,    0,    2110, 0,    0,    970,  2373, 534,
-    0,    0,    0,    1658, 0,    233,  1399, 1224, 0,    0,    362,  0,    0,    1466, 279,  1165,
-    0,    4702, 0,    0,    0,    0,    4903, 2139, 1401, 0,    0,    405,  0,    1153, 0,    0,
-    0,    0,    335,  3044, 0,    0,    0,    0,    0,    1278, 264,  4370, 3149, 0,    2265, 445,
-    0,    2321, 0,    4929, 4437, 350,  0,    0,    0,    0,    2143, 0,    2488, 0,    0,    0,
-    0,    2082, 0,    0,    398,  484,  1026, 1820, 0,    0,    2180, 946,  0,    0,    214,  2895,
-    0,    0,    0,    0,    475,  1283, 1762, 0,    992,  409,  1406, 0,    5018, 1040, 116,  0,
-    0,    1526, 675,  457,  1993, 0,    1377, 0,    3975, 0,    2730, 0,    4745, 0,    96,   0,
-    132,  616,  0,    0,    0,    1836, 401,  1109, 3945, 4980, 4588, 2055, 494,  1497, 4045, 0,
-    0,    5041, 327,  0,    0,    290,  0,    2054, 0,    2336, 0,    0,    0,    4697, 1518, 2176,
-    0,    2054, 0,    0,    0,    877,  0,    0,    4368, 0,    0,    0,    0,    4589, 373,  3773,
-    1047, 0,    3698, 4022, 0,    0,    596,  0,    0,    0,    197,  0,    692,  0,    130,  0,
-    178,  0,    0,    0,    1105, 0,    1851, 0,    973,  261,  706,  1108, 3721, 1193, 1419, 511,
-    0,    3644, 3930, 0,    3968, 1340, 3382, 0,    0,    1410, 1204, 588,  0,    0,    0,    3974,
-    1262, 1327, 158,  0,    1761, 873,  3213, 737,  0,    0,    0,    0,    1471, 0,    3068, 0,
-    1099, 3207, 2962, 1752, 0,    0,    0,    0,    0,    0,    0,    906,  0,    0,    3998, 0,
-    0,    3345, 0,    0,    0,    0,    25,   4590, 0,    0,    2574, 0,    0,    629,  4845, 471,
-    439,  220,  958,  3100, 749,  8,    0,    0,    0,    0,    0,    0,    0,    939,  407,  2886,
-    4147, 168,  880,  0,    876,  0,    875,  0,    4046, 0,    0,    601,  0,    4814, 0,    0,
-    1311, 1193, 0,    0,    0,    0,    2391, 0,    0,    1513, 4739, 0,    0,    0,    0,    2025,
-    0,    301,  3903, 0,    1730, 833,  0,    0,    0,    627,  39,   0,    0,    2683, 591,  850,
-    0,    4750, 0,    0,    0,    4899, 415,  0,    0,    532,  1482, 0,    4650, 564,  3661, 0,
-    0,    163,  0,    2358, 0,    3784, 1265, 0,    0,    2005, 0,    0,    0,    1585, 2947, 0,
-    0,    2056, 0,    0,    2238, 0,    4945, 1701, 0,    2472, 4900, 33,   974,  4865, 0,    0,
-    0,    1739, 773,  3393, 0,    0,    3824, 705,  0,    0,    0,    1966, 2,    1909, 0,    0,
-    0,    0,    1728, 0,    327,  0,    0,    1615, 0,    0,    821,  4794, 5035, 2049, 0,    707,
-    0,    0,    0,    3509, 0,    0,    0,    0,    2099, 0,    14,   1809, 927,  2269, 0,    0,
-    3250, 0,    0,    2197, 1570, 0,    0,    0,    0,    1140, 0,    0,    2196, 1563, 531,  1427,
-    0,    5023, 0,    4544, 0,    0,    413,  0,    0,    0,    0,    0,    0,    0,    0,    0,
-    917,  864,  0,    1856, 1474, 1719, 2331, 1535, 194,  0,    1728, 1300, 4139, 1795, 363,  734,
-    780,  0,    1697, 1720, 5028, 0,    0,    719,  0,    0,    1676, 0,    1788, 0,    0,    0,
-    0,    4896, 0,    0,    4811, 1460, 2223, 0,    0,    0,    0,    37,   0,    0,    0,    1335,
-    0,    0,    576,  0,    1339, 0,    0,    0,    852,  4376, 0,    4455, 4037, 4372, 1015, 0,
-    0,    4858, 1956, 3921, 375,  1155, 1084, 1988, 0,    3485, 0,    1992, 0,    608,  0,    364,
-    4581, 2187, 1172, 0,    0,    0,    0,    496,  0,    2241, 0,    0,    0,    0,    4076, 11,
-    0,    4539, 58,   911,  1442, 1501, 1433, 0,    1242, 614,  3522, 0,    0,    0,    1811, 0,
-    0,    1160, 1630, 0,    5012, 1105, 0,    1149, 8,    0,    0,    1704, 0,    1400, 0,    338,
-    3818, 4324, 3712, 41,   0,    2138, 1994, 0,    0,    2232, 1462, 1845, 0,    1976, 0,    782,
-    0,    0,    0,    0,    844,  0,    2084, 859,  621,  0,    4890, 0,    0,    1940, 0,    0,
-    0,    830,  0,    0,    0,    0,    964,  0,    0,    1620, 0,    0,    0,    0,    0,    0,
-    2280, 0,    642,  3106, 0,    0,    0,    0,    0,    0,    0,    0,    3271, 820,  3460, 0,
-    0,    0,    2173, 2140, 258,  355,  2122, 66,   71,   0,    1523, 0,    0,    0,    0,    2252,
-    0,    0,    202,  0,    0,    0,    1520, 0,    4360, 0,    1241, 0,    0,    0,    665,  0,
-    0,    519,  0,    0,    4666, 0,    0,    0,    2206, 0,    5058, 2079, 617,  0,    0,    0,
-    3355, 0,    1990, 599,  0,    2844, 0,    0,    0,    0,    0,    0,    0,    4569, 1566, 0,
-    0,    35,   492,  2164, 0,    0,    0,    0,    0,    1493, 0,    4720, 4492, 0,    223,  1803,
-    3462, 0,    4420, 0,    0,    3639, 789,  684,  0,    751,  3353, 4444, 0,    1039, 0,    0,
-    3909, 135,  2284, 953,  3022, 0,    0,    0,    0,    2255, 1950, 1442, 0,    932,  3400, 4601,
-    1528, 0,    4566, 2211, 2263, 0,    0,    607,  1936, 0,    1143, 924,  0,    1171, 340,  2135,
-    0,    0,    1176, 2452, 0,    2131, 0,    4700, 0,    0,    3169, 664,  989,  618,  0,    0,
-    4729, 1263, 0,    0,    0,    4103, 2289, 4742, 1113, 0,    4670, 0,    657,  4131, 0,    0,
-    763,  1729, 2965, 0,    4663, 169,  754,  1453, 1692, 1051, 1983, 0,    3582, 282,  990,  2934,
-    96,   0,    1970, 0,    2622, 4664, 3961, 0,    1652, 1270, 2520, 3052, 0,    1317, 4423, 0,
-    0,    0,    0,    1707, 1490, 4833, 544,  0,    0,    0,    4787, 0,    262,  0,    458,  1064,
-    3309, 393,  0,    0,    839,  0,    0,    0,    1778, 0,    0,    0,    550,  3931, 0,    0,
-    0,    1435, 0,    0,    0,    921,  0,    0,    4614, 0,    2520, 0,    0,    0,    0,    711,
-    0,    1048, 0,    0,    421,  0,    0,    891,  5064, 0,    0,    402,  0,    1190, 0,    2314,
-    1260, 1776, 0,    5088, 0,    221,  2428, 0,    876,  0,    1381, 0,    3720, 4579, 4280, 0,
-    0,    2343, 0,    1436, 0,    3374, 0,    0,    0,    141,  687,  0,    625,  3037, 1735, 0,
-    0,    3142, 288,  4119, 0,    116,  376,  3061, 2296, 0,    1575, 793,  145,  0,    0,    0,
-    1546, 4736, 0,    1402, 0,    1273, 0,    1525, 5006, 0,    2317, 2042, 4498, 4903, 0,    0,
-    0,    0,    0,    2670, 2343, 0,    460,  1776, 2607, 1051, 0,    1164, 4737, 0,    4655, 0,
-    4869, 5007, 209,  286,  0,    3768, 502,  0,    4891, 0,    3338, 1452, 1727, 559,  0,    0,
-    1444, 430,  1827, 103,  0,    0,    0,    0,    1886, 0,    1251, 0,    0,    1542, 0,    404,
-    0,    4760, 0,    3946, 152,  422,  0,    0,    4854, 221,  4853, 5060, 419,  1280, 658,  4103,
-    0,    5009, 0,    1009, 0,    143,  1207, 4724, 0,    3744, 1138, 0,    0,    0,    1999, 1215,
-    0,    0,    4916, 4856, 3546, 193,  1004, 1559, 1083, 2622, 2691, 0,    0,    2039, 1318, 5012,
-    0,    4690, 0,    0,    229,  1081, 167,  3383, 3670, 0,    2103, 0,    0,    454,  2282, 2179,
-    0,    0,    4678, 1575, 0,    3012, 0,    0,    1977, 1782, 236,  0,    2224, 0,    0,    2320,
-    0,    0,    0,    0,    1265, 2193, 0,    1551, 0,    4699, 1492, 0,    0,    0,    0,    0,
-    63,   782,  2218, 0,    0,    1435, 0,    1697, 0,    1558, 0,    814,  0,    1995, 1992, 126,
-    0,    1840, 0,    0,    0,    1888, 0,    720,  139,  3612, 5004, 0,    1367, 723,  1357, 4115,
-    894,  1042, 351,  487,  4798, 0,    0,    3567, 0,    199,  0,    0,    4421, 1283, 0,    4263,
-    1347, 0,    0,    495,  1486, 1653, 0,    611,  0,    0,    146,  0,    1128, 0,    725,  4826,
-    0,    3222, 161,  0,    0,    511,  307,  317,  481,  0,    0,    0,    3019, 503,  401,  111,
-    0,    1959, 0,    0,    0,    5050, 4264, 210,  0,    0,    1430, 3678, 76,   0,    3689, 449,
-    0,    4803, 0,    0,    0,    0,    1621, 0,    0,    989,  2007, 1481, 414,  736,  4435, 0,
-    0,    0,    2075, 0,    0,    1037, 2620, 0,    96,   0,    0,    0,    4619, 0,    0,    2335,
-    0,    3751, 1405, 5000, 465,  27,   0,    0,    0,    0,    869,  0,    0,    7,    5008, 0,
-    39,   0,    383,  0,    3316, 2288, 0,    0,    0,    1329, 0,    0,    0,    2088, 0,    3979,
-    0,    980,  538,  2200, 0,    812,  644,  4282, 1787, 4739, 160,  943,  1598, 0,    1485, 2472,
-    0,    395,  516,  103,  0,    1526, 2027, 2093, 681,  3332, 1103, 821,  992,  1312, 823,  2009,
-    1561, 1320, 1533, 0,    1555, 1571, 0,    0,    553,  623,  1093, 0,    4018, 4748, 695,  0,
-    1148, 2072, 1226, 1782, 0,    0,    1023, 1686, 4676, 5039, 0,    525,  345,  1244, 0,    0,
-    0,    2898, 698,  2071, 0,    0,    0,    2325, 0,    944,  4063, 1101, 0,    0,    0,    650,
-    0,    80,   0,    649,  1644, 1014, 1534, 0,    468,  5083, 4444, 3641, 2940, 0,    4321, 0,
-    0,    2127, 0,    993,  1082, 144,  0,    0,    0,    3996, 4156, 1842, 0,    2248, 990,  697,
-    1364, 1351, 4453, 0,    0,    1006, 3457, 0,    1702, 0,    0,    548,  0,    3733, 853,  1517,
-    0,    286,  0,    1564, 376,  0,    432,  709,  661,  0,    0,    106,  0,    3596, 51,   0,
-    2121, 0,    302,  0,    635,  0,    3749, 2332, 0,    0,    0,    0,    4981, 1784, 1379, 189,
-    1842, 4122, 1861, 0,    1951, 489,  0,    1729, 0,    0,    4656, 193,  1916, 2360, 0,    4538,
-    448,  0,    0,    4897, 4440, 0,    0,    2557, 0,    1802, 0,    0,    1953, 3485, 0,    0,
-    750,  965,  608,  0,    3446, 0,    0,    951,  3535, 1254, 837,  4189, 2153, 52,   0,    0,
-    0,    0,    0,    983,  1080, 3913, 0,    2886, 97,   0,    0,    2783, 2926, 300,  577,  0,
-    0,    1072, 2052, 870,  0,    1617, 3359, 0,    592,  0,    0,    2557, 446,  3931, 0,    0,
-    606,  394,  4773, 762,  972,  0,    3531, 0,    180,  4738, 0,    2055, 3257, 1691, 544,  1862,
-    1356, 3948, 2186, 0,    0,    0,    0,    0,    0,    3020, 1128, 4895, 470,  313,  0,    0,
-    2864, 0,    98,   0,    0,    1746, 324,  0,    781,  2094, 0,    0,    0,    0,    488,  0,
-    0,    162,  407,  3141, 2194, 0,    862,  0,    0,    693,  3952, 0,    0,    0,    0,    3389,
-    2740, 4997, 922,  115,  0,    0,    0,    2048, 4450, 976,  140,  0,    1160, 0,    0,    1776,
-    0,    336,  0,    1441, 4254, 2995, 237,  270,  1168, 748,  0,    546,  1446, 1915, 3987, 1594,
-    1326, 2335, 672,  1098, 5023, 407,  1792, 0,    1777, 1681, 4401, 0,    1390, 0,    0,    5062,
-    1276, 1690, 4221, 0,    3989, 0,    4255, 0,    4233, 0,    2312, 1927, 0,    0,    0,    2958,
-    0,    0,    3994, 270,  0,    0,    0,    0,    0,    0,    523,  1542, 0,    23,   0,    4574,
-    662,  331,  1613, 0,    0,    1413, 0,    0,    550,  1616, 1568, 0,    529,  3820, 0,    0,
-    4680, 1304, 3475, 125,  0,    2206, 5042, 463,  1698, 0,    0,    874,  430,  1235, 192,  2899,
-    1994, 564,  0,    0,    725,  4315, 1242, 0,    561,  0,    3647, 0,    0,    0,    1249, 0,
-    0,    0,    0,    5001, 4660, 0,    3215, 893,  2285, 617,  4625, 0,    1221, 3824, 412,  0,
-    0,    792,  0,    0,    4304, 351,  0,    2800, 0,    0,    1043, 0,    218,  1240, 0,    0,
-    4321, 0,    3484, 2116, 0,    0,    0,    0,    854,  1232, 1833, 4051, 0,    426,  1494, 796,
-    60,   0,    421,  0,    4961, 2918, 777,  0,    3752, 1901, 3997, 0,    0,    0,    1562, 0,
-    389,  1319, 3425, 1204, 0,    0,    270,  2256, 0,    0,    1103, 0,    198,  921,  1895, 0,
-    0,    1032, 2313, 2264, 2510, 904,  1445, 3141, 0,    0,    1772, 0,    0,    0,    1556, 368,
-    249,  0,    2137, 0,    5074, 620,  0,    0,    1,    4408, 2707, 0,    542,  398,  0,    0,
-    4674, 735,  0,    15,   0,    1549, 390,  0,    0,    3915, 876,  392,  1166, 3570, 0,    0,
-    1039, 121,  4065, 1691, 0,    1540, 1065, 0,    1872, 611,  0,    0,    1437, 0,    1329, 0,
-    3747, 1269, 4397, 1220, 2216, 2079, 1482, 0,    2069, 0,    1632, 810,  0,    20,   4937, 5022,
-    1152, 4247, 1072, 1268, 1091, 0,    1625, 1915, 4912, 416,  0,    0,    0,    4958, 0,    1459,
-    273,  4632, 3261, 411,  0,    0,    2882, 3802, 535,  3567, 429,  0,    4738, 4258, 4769, 741,
-    625,  4058, 2105, 0,    667,  0,    1168, 3017, 632,  1157, 0,    798,  0,    513,  1814, 1325,
-    1504, 3745, 0,    180,  2298, 1655, 1869, 0,    572,  0,    0,    1750, 0,    0,    905,  182,
-    585,  0,    0,    0,    0,    0,    1572, 0,    2386, 0,    577,  1867, 2889, 0,    162,  2589,
-    230,  0,    0,    0,    0,    0,    1550, 0,    2654, 3571, 3600, 0,    482,  1370, 2567, 1188,
-    0,    915,  1199, 2144, 1821, 0,    1610, 1650, 3635, 0,    0,    0,    0,    0,    0,    4122,
-    107,  0,    0,    0,    0,    489,  4745, 0,    0,    0,    1197, 1119, 0,    915,  4183, 3414,
-    582,  4037, 647,  0,    45,   0,    0,    0,    0,    2065, 0,    1625, 1144, 452,  1293, 0,
-    0,    10,   1056, 932,  2031, 851,  865,  0,    2007, 4718, 2227, 1762, 0,    542,  1801, 50,
-    0,    214,  0,    450,  177,  731,  0,    1129, 809,  0,    0,    1682, 1091, 0,    667,  1010,
-    0,    0,    4698, 0,    0,    0,    0,    763,  0,    0,    2204, 707,  4873, 0,    0,    0,
-    0,    916,  597,  353,  355,  0,    2064, 0,    5073, 1408, 4845, 1180, 0,    55,   2239, 0,
-    2244, 984,  0,    0,    0,    242,  1373, 467,  0,    2190, 686,  339,  0,    0,    0,    4724,
-    0,    130,  3880, 913,  0,    0,    1731, 4886, 0,    118,  457,  0,    0,    1623, 0,    4494,
-    0,    5068, 2931, 2113, 0,    751,  0,    987,  2322, 611,  0,    1192, 1185, 3307, 0,    3216,
-    137,  0,    4948, 0,    0,    2633, 4973, 310,  2463, 1966, 4017, 869,  4962, 0,    0,    0,
-    518,  0,    77,   0,    604,  0,    434,  0,    1516, 8,    1709, 1249, 0,    165,  1666, 216,
-    1456, 1339, 1364, 0,    0,    0,    2324, 2814, 0,    0,    2657, 444,  1801, 1676, 0,    871,
-    0,    4487, 1982, 895,  4462, 1349, 1682, 367,  2163, 0,    0,    64,   0,    4906, 1425, 876,
-    458,  0,    776,  0,    0,    3454, 0,    1274, 0,    2211, 84,   0,    557,  724,  0,    413,
-    0,    1709, 836,  3086, 3938, 4511, 0,    842,  1301, 0,    0,    501,  0,    0,    2481, 1018,
-    0,    949,  1871, 546,  4091, 2249, 0,    0,    0,    5033, 0,    104,  1002, 0,    425,  980,
-    0,    501,  764,  57,   0,    1624, 4705, 0,    0,    1790, 0,    1343, 2213, 0,    1897, 0,
-    979,  1143, 0,    0,    0,    122,  1366, 0,    1430, 0,    1308, 4757, 0,    0,    4978, 0,
-    0,    212,  0,    2114, 0,    0,    2209, 2582, 0,    0,    922,  0,    399,  0,    4012, 0,
-    0,    0,    1880, 0,    0,    1181, 1726, 431,  344,  2011, 1271, 4463, 0,    1931, 1450, 1029,
-    147,  0,    0,    3022, 0,    4474, 2603, 0,    0,    0,    578,  0,    2034, 4240, 817,  0,
-    0,    0,    2020, 547,  0,    1189, 2480, 4942, 0,    0,    0,    0,    1177, 981,  575,  112,
-    2261, 1407, 0,    1599, 4523, 900,  0,    4723, 1991, 0,    159,  2195, 1391, 470,  3608, 4821,
-    1189, 0,    0,    1779, 851,  2449, 1502, 0,    0,    676,  0,    0,    1282, 9,    0,    0,
-    763,  767,  0,    0,    0,    200,  0,    622,  2312, 0,    0,    1497, 804,  1972, 108,  2841,
-    1125, 873,  0,    996,  0,    0,    4582, 718,  984,  1127, 319,  0,    2604, 505,  0,    0,
-    0,    1315, 0,    3927, 826,  0,    1868, 0,    2575, 0,    0,    0,    2250, 0,    0,    0,
-    4007, 1034, 480,  0,    1284, 0,    4709, 973,  0,    985,  4733, 4447, 0,    0,    565,  2262,
-    0,    0,    2172, 1116, 0,    2961, 959,  1799, 1436, 761,  3924, 2162, 1895, 4609, 0,    0,
-    0,    811,  0,    0,    0,    0,    0,    641,  0,    3379, 1626, 0,    0,    0,    0,    1528,
-    0,    937,  1985, 0,    0,    1135, 1716, 1656, 2274, 1412, 1146, 723,  40,   0,    0,    938,
-    68,   4285, 0,    0,    1256, 2161, 807,  4726, 877,  271,  4943, 1359, 0,    1051, 0,    307,
-    1509, 0,    2123, 0,    0,    0,    0,    1355, 0,    1179, 164,  1596, 122,  0,    4718, 0,
-    0,    0,    3848, 0,    0,    4922, 1617, 2264, 1870, 3997, 17,   0,    2178, 2934, 1860, 205,
-    4060, 4958, 912,  0,    2840, 0,    331,  4893, 0,    3934, 40,   2124, 4489, 767,  0,    1938,
-    209,  4755, 50,   1647, 2214, 0,    745,  0,    1535, 1250, 1143, 0,    0,    0,    0,    232,
-    1643, 0,    175,  2080, 0,    0,    0,    0,    929,  0,    2274, 132,  963,  2323, 0,    0,
-    5079, 0,    2060, 1703, 0,    601,  0,    0,    0,    3063, 1488, 455,  0,    0,    0,    2233,
-    879,  1126, 1359, 0,    256,  0,    3998, 0,    0,    280,  0,    0,    0,    0,    0,    4725,
-    4743, 1284, 0,    1798, 4354, 0,    0,    0,    4213, 59,   270,  2495, 923,  3101, 2276, 1204,
-    0,    4506, 0,    0,    0,    0,    0,    0,    0,    4232, 0,    0,    1581, 0,    0,    18,
-    0,    1928, 1298, 1094, 0,    1283, 170,  0,    0,    1974, 971,  1547, 0,    1842, 727,  2126,
-    0,    0,    0,    4131, 0,    774,  92};
+    0,    4759, 1485, 2075, 0,    4615, 0,    0,    4393, 4663, 2297, 0,    4400, 767,  0,    2644,
+    0,    0,    0,    369,  1878, 0,    4297, 1424, 2783, 0,    0,    1993, 0,    0,    1089, 0,
+    1366, 0,    117,  2074, 917,  0,    0,    0,    1058, 0,    0,    0,    260,  4469, 0,    739,
+    791,  0,    0,    0,    623,  0,    2816, 0,    0,    624,  0,    148,  545,  0,    0,    0,
+    0,    4436, 2667, 0,    1843, 0,    0,    0,    0,    0,    0,    0,    4940, 0,    0,    0,
+    0,    0,    0,    284,  0,    0,    704,  811,  0,    0,    1213, 0,    0,    0,    0,    897,
+    0,    2283, 3155, 162,  0,    4361, 0,    0,    0,    1152, 1349, 779,  3600, 900,  1454, 2107,
+    885,  0,    0,    0,    0,    0,    0,    0,    0,    0,    1238, 1270, 1690, 4678, 2145, 0,
+    0,    0,    0,    802,  0,    0,    101,  4842, 0,    0,    0,    0,    2201, 578,  0,    988,
+    236,  3189, 0,    0,    445,  182,  670,  3851, 0,    0,    0,    0,    0,    0,    0,    3236,
+    5074, 0,    0,    0,    0,    0,    1748, 1691, 0,    0,    4213, 892,  0,    2152, 0,    158,
+    0,    0,    0,    1681, 0,    4552, 0,    0,    0,    0,    0,    0,    0,    0,    1720, 0,
+    0,    0,    0,    262,  0,    1502, 0,    0,    3731, 0,    2303, 0,    0,    0,    0,    868,
+    0,    0,    0,    4839, 0,    2208, 3256, 382,  2642, 0,    0,    4064, 0,    165,  0,    0,
+    0,    4688, 0,    0,    361,  0,    70,   4819, 4711, 0,    0,    0,    1154, 2660, 4482, 296,
+    75,   4445, 0,    4697, 0,    257,  0,    0,    0,    530,  0,    755,  0,    2177, 0,    0,
+    0,    0,    0,    4826, 4496, 0,    0,    0,    0,    589,  0,    0,    1269, 0,    0,    0,
+    0,    0,    0,    0,    2255, 0,    1757, 0,    1029, 0,    0,    3256, 0,    0,    0,    0,
+    1774, 0,    0,    690,  0,    0,    0,    723,  0,    0,    0,    517,  3904, 680,  656,  0,
+    0,    0,    0,    0,    0,    0,    1037, 0,    0,    751,  0,    0,    0,    0,    873,  1033,
+    4598, 0,    4586, 0,    3060, 59,   2835, 3530, 1595, 0,    1586, 0,    266,  2212, 63,   3124,
+    0,    0,    0,    3298, 0,    0,    0,    0,    0,    4240, 1827, 0,    0,    0,    1413, 1656,
+    93,   2169, 0,    2523, 1579, 0,    0,    2609, 0,    2027, 2390, 0,    0,    2496, 0,    0,
+    1074, 72,   864,  0,    0,    0,    0,    1743, 1282, 0,    0,    0,    0,    527,  0,    0,
+    0,    117,  0,    2286, 876,  0,    0,    0,    0,    4093, 0,    0,    0,    3956, 0,    1941,
+    0,    0,    0,    322,  556,  3519, 1986, 0,    0,    0,    0,    0,    1011, 2053, 0,    0,
+    1253, 0,    0,    1921, 558,  0,    1399, 219,  1850, 0,    2126, 3638, 0,    0,    0,    0,
+    0,    0,    676,  1290, 289,  115,  198,  0,    67,   3869, 4497, 0,    0,    3958, 0,    0,
+    1815, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    291,  0,
+    0,    0,    0,    0,    0,    0,    645,  936,  4793, 1926, 0,    0,    0,    0,    1339, 0,
+    4922, 3430, 3614, 212,  667,  0,    0,    0,    1565, 0,    4660, 0,    979,  4016, 795,  0,
+    1412, 0,    0,    0,    0,    1347, 464,  396,  0,    0,    3899, 0,    0,    7,    0,    0,
+    0,    4130, 4123, 159,  0,    4810, 0,    0,    416,  2236, 0,    0,    1028, 0,    0,    0,
+    35,   0,    1919, 0,    1009, 0,    464,  1128, 333,  0,    1507, 220,  0,    0,    0,    1771,
+    0,    2131, 0,    3755, 1460, 1970, 0,    0,    0,    0,    0,    0,    0,    1884, 2926, 1103,
+    0,    0,    0,    2875, 0,    0,    0,    2521, 2079, 600,  0,    110,  0,    0,    1639, 0,
+    2739, 3722, 2248, 0,    879,  0,    1145, 0,    1415, 0,    0,    963,  0,    0,    0,    0,
+    0,    0,    647,  0,    4350, 700,  507,  0,    1638, 0,    5023, 0,    0,    0,    0,    0,
+    0,    0,    0,    0,    586,  0,    1310, 2572, 0,    0,    0,    0,    597,  0,    832,  0,
+    423,  4698, 1782, 1501, 0,    0,    1157, 0,    0,    0,    0,    0,    0,    789,  878,  0,
+    0,    2293, 0,    0,    231,  942,  2499, 474,  3392, 0,    0,    2319, 0,    2968, 0,    0,
+    370,  0,    0,    0,    2885, 3363, 2689, 0,    1830, 0,    0,    5032, 0,    0,    0,    0,
+    3127, 0,    290,  0,    2089, 0,    0,    1268, 0,    0,    0,    0,    0,    279,  2178, 0,
+    0,    0,    0,    4327, 1278, 1706, 3,    1715, 339,  4666, 1136, 0,    732,  4523, 1047, 216,
+    0,    1391, 0,    4410, 0,    0,    4112, 4526, 1385, 0,    158,  86,   3927, 1661, 969,  0,
+    1623, 0,    1774, 0,    0,    0,    0,    0,    0,    0,    1366, 0,    0,    0,    377,  657,
+    1242, 0,    1518, 0,    2715, 0,    0,    0,    0,    0,    1421, 748,  0,    0,    0,    119,
+    4053, 2861, 0,    0,    958,  0,    0,    1734, 1999, 10,   4095, 0,    0,    0,    0,    0,
+    3601, 261,  1081, 3018, 4431, 0,    3687, 0,    463,  0,    0,    0,    0,    211,  0,    0,
+    0,    1186, 2768, 1220, 0,    0,    0,    0,    0,    641,  3580, 0,    543,  182,  0,    0,
+    0,    0,    1931, 735,  293,  1423, 1714, 2306, 1747, 0,    2478, 4798, 0,    0,    0,    0,
+    3002, 0,    2167, 0,    0,    0,    0,    642,  662,  1170, 4000, 0,    296,  0,    4830, 1879,
+    826,  0,    0,    0,    1489, 0,    3835, 0,    394,  2059, 0,    0,    0,    178,  0,    0,
+    0,    3591, 2056, 2815, 0,    0,    0,    0,    1268, 0,    0,    0,    0,    3932, 176,  0,
+    47,   196,  0,    0,    0,    308,  929,  0,    4913, 997,  1166, 1063, 0,    2318, 87,   0,
+    0,    3559, 0,    571,  2099, 716,  921,  0,    0,    0,    1633, 1642, 0,    761,  211,  0,
+    2015, 0,    1998, 3960, 0,    0,    0,    0,    459,  4419, 4463, 0,    5038, 3072, 0,    0,
+    0,    976,  1497, 5071, 1022, 0,    1740, 284,  515,  0,    1556, 0,    0,    1735, 605,  0,
+    1420, 0,    0,    0,    2039, 95,   1637, 195,  1862, 1375, 1142, 0,    0,    0,    0,    4550,
+    0,    0,    0,    0,    2501, 657,  3003, 0,    0,    0,    0,    1985, 749,  0,    0,    0,
+    1174, 1078, 692,  0,    75,   1129, 979,  0,    0,    0,    2110, 0,    0,    972,  2374, 534,
+    0,    0,    0,    1660, 0,    234,  1402, 1227, 0,    0,    362,  0,    0,    1468, 275,  1168,
+    0,    4701, 0,    0,    0,    0,    4903, 2139, 1404, 0,    0,    405,  0,    1156, 0,    0,
+    0,    0,    336,  3043, 0,    0,    0,    0,    0,    1281, 264,  4375, 3148, 0,    2265, 447,
+    0,    2321, 0,    4928, 4437, 352,  0,    0,    0,    0,    2143, 0,    2490, 0,    0,    0,
+    0,    2083, 0,    0,    398,  484,  1027, 1821, 0,    0,    2180, 948,  0,    0,    215,  2902,
+    0,    0,    0,    0,    475,  1286, 1766, 0,    989,  408,  1409, 0,    5020, 1042, 115,  0,
+    0,    1532, 675,  455,  1994, 0,    1380, 0,    3976, 0,    2734, 0,    4745, 0,    96,   0,
+    132,  617,  0,    0,    0,    1837, 401,  1112, 3942, 4986, 4593, 2055, 498,  1499, 4045, 0,
+    0,    5046, 327,  0,    0,    292,  0,    2055, 0,    2336, 0,    0,    0,    4697, 1519, 2176,
+    0,    2054, 0,    0,    0,    878,  0,    0,    4365, 0,    0,    0,    0,    4590, 373,  3773,
+    1049, 0,    3695, 4019, 0,    0,    599,  0,    0,    0,    197,  0,    692,  0,    130,  0,
+    178,  0,    0,    0,    1106, 0,    1851, 0,    975,  261,  710,  1112, 3723, 1196, 1422, 510,
+    0,    3643, 3929, 0,    3965, 1343, 3381, 0,    0,    1413, 1206, 589,  0,    0,    0,    3972,
+    1265, 1330, 157,  0,    1763, 877,  3213, 737,  0,    0,    0,    0,    1473, 0,    3071, 0,
+    1102, 3205, 2962, 1754, 0,    0,    0,    0,    0,    0,    0,    907,  0,    0,    3996, 0,
+    0,    3345, 0,    0,    0,    0,    25,   4591, 0,    0,    2573, 0,    0,    628,  4843, 472,
+    441,  216,  961,  3104, 748,  4360, 0,    0,    0,    0,    0,    0,    0,    939,  415,  2886,
+    4143, 168,  881,  0,    874,  0,    873,  0,    4043, 0,    0,    600,  0,    4814, 0,    0,
+    1315, 1191, 0,    0,    0,    0,    2391, 0,    0,    1515, 4740, 0,    0,    0,    0,    2026,
+    0,    301,  3904, 0,    1732, 831,  0,    0,    0,    627,  39,   0,    0,    2689, 591,  853,
+    0,    4747, 0,    0,    0,    4900, 415,  0,    0,    532,  1484, 0,    4651, 567,  3660, 0,
+    0,    163,  0,    2362, 0,    3781, 24,   0,    0,    2006, 0,    0,    0,    1587, 2951, 0,
+    0,    2057, 0,    0,    2238, 0,    4944, 1703, 0,    2475, 4900, 33,   976,  4866, 0,    0,
+    0,    1740, 773,  3391, 0,    0,    3826, 705,  0,    0,    0,    1971, 2,    1912, 0,    0,
+    0,    0,    1727, 0,    328,  0,    0,    1617, 0,    0,    823,  4792, 5030, 2050, 0,    707,
+    0,    0,    0,    3511, 0,    0,    0,    0,    2100, 0,    18,   1810, 928,  2269, 0,    0,
+    3245, 0,    0,    2197, 1572, 0,    0,    0,    0,    1143, 0,    0,    2200, 1564, 531,  1429,
+    0,    5022, 0,    4544, 0,    0,    413,  0,    0,    0,    0,    0,    0,    0,    0,    0,
+    918,  865,  0,    1857, 1476, 1721, 2331, 1537, 194,  0,    1730, 1299, 4135, 1799, 364,  733,
+    780,  0,    1696, 1722, 5032, 0,    0,    719,  0,    0,    1676, 0,    1789, 0,    0,    0,
+    0,    4900, 0,    0,    4812, 1462, 2223, 0,    0,    0,    0,    37,   0,    0,    0,    1338,
+    0,    0,    576,  0,    1342, 0,    0,    0,    853,  4376, 0,    4452, 4034, 4375, 1017, 0,
+    0,    4862, 1957, 3924, 375,  1158, 1086, 1989, 0,    3487, 0,    1993, 0,    608,  0,    365,
+    4583, 2187, 1176, 0,    0,    0,    0,    494,  0,    2241, 0,    0,    0,    0,    4076, 11,
+    0,    4541, 58,   912,  1440, 1503, 1435, 0,    1245, 614,  3526, 0,    0,    0,    1812, 0,
+    0,    1166, 1632, 0,    5016, 1108, 0,    1152, 14,   0,    0,    1704, 0,    1403, 0,    338,
+    3819, 4322, 3707, 38,   0,    934,  1992, 0,    0,    2232, 1464, 1845, 0,    1977, 0,    782,
+    0,    0,    0,    0,    845,  0,    2085, 860,  621,  0,    4891, 0,    0,    1941, 0,    0,
+    0,    831,  0,    0,    0,    0,    966,  0,    0,    1622, 0,    0,    0,    0,    0,    0,
+    2280, 0,    642,  3111, 0,    0,    0,    0,    0,    0,    0,    0,    3266, 820,  3458, 0,
+    0,    0,    2173, 2140, 258,  354,  2123, 66,   71,   0,    1525, 0,    0,    0,    0,    2253,
+    0,    0,    202,  0,    0,    0,    1522, 0,    4362, 0,    1242, 0,    0,    0,    665,  0,
+    0,    519,  0,    0,    4666, 0,    0,    0,    2208, 0,    5057, 2081, 621,  0,    0,    0,
+    3354, 0,    1991, 599,  0,    2852, 0,    0,    0,    0,    0,    0,    0,    4568, 1567, 0,
+    0,    35,   491,  2164, 0,    0,    0,    0,    0,    1495, 0,    4721, 4494, 0,    222,  1801,
+    3465, 0,    4420, 0,    0,    3638, 790,  684,  0,    750,  3350, 4442, 0,    1042, 0,    0,
+    3915, 134,  2284, 955,  3025, 0,    0,    0,    0,    2255, 1951, 1444, 0,    937,  3399, 4603,
+    1526, 0,    4562, 2213, 2263, 0,    0,    606,  1937, 0,    1145, 925,  0,    1174, 340,  2140,
+    0,    0,    1179, 2457, 0,    985,  0,    4697, 0,    0,    3173, 664,  984,  618,  0,    0,
+    4727, 1266, 0,    0,    0,    4101, 2289, 4742, 1116, 0,    4671, 0,    657,  4131, 0,    0,
+    763,  1731, 2963, 0,    4663, 169,  756,  1454, 1694, 1053, 1986, 0,    3583, 284,  992,  2934,
+    97,   0,    1968, 0,    2623, 4668, 3960, 0,    1654, 1273, 2516, 3052, 0,    1320, 4423, 0,
+    0,    0,    0,    1709, 1492, 4834, 544,  0,    0,    0,    4787, 0,    262,  0,    454,  1063,
+    3317, 393,  0,    0,    839,  0,    0,    0,    1779, 0,    0,    0,    553,  3933, 0,    0,
+    0,    1437, 0,    0,    0,    921,  0,    0,    4619, 0,    2524, 0,    0,    0,    0,    711,
+    0,    1050, 0,    0,    421,  0,    0,    895,  5063, 0,    0,    402,  0,    1193, 0,    2314,
+    1263, 1777, 0,    5089, 0,    223,  2430, 0,    875,  0,    1384, 0,    3722, 4574, 4280, 0,
+    0,    2343, 0,    1438, 0,    3369, 0,    0,    0,    141,  687,  0,    625,  3039, 1737, 0,
+    0,    3141, 288,  4121, 0,    116,  376,  3061, 2296, 0,    1580, 793,  145,  0,    0,    0,
+    1548, 4738, 0,    1400, 0,    1276, 0,    1528, 5006, 0,    2317, 2043, 4500, 4905, 0,    0,
+    0,    0,    0,    2666, 2345, 0,    460,  1777, 684,  1054, 0,    1161, 4738, 0,    4655, 0,
+    4867, 5007, 211,  285,  0,    3769, 502,  0,    4891, 0,    3337, 1454, 1729, 557,  0,    0,
+    1445, 430,  1829, 103,  0,    0,    0,    0,    1887, 0,    1254, 0,    0,    1543, 0,    404,
+    0,    4759, 0,    3950, 152,  422,  0,    0,    4855, 221,  4852, 5060, 419,  1281, 658,  4101,
+    0,    5010, 0,    1011, 0,    143,  1210, 4725, 0,    3742, 1141, 0,    0,    0,    2000, 1218,
+    0,    0,    4917, 4855, 3545, 191,  1006, 1561, 1085, 2623, 2694, 0,    0,    2040, 1319, 5012,
+    0,    4691, 0,    0,    229,  1083, 168,  3386, 3675, 0,    2101, 0,    0,    454,  2282, 2179,
+    0,    0,    4680, 1577, 0,    3012, 0,    0,    1978, 1783, 236,  0,    2229, 0,    0,    2320,
+    0,    0,    0,    0,    1267, 2193, 0,    1553, 0,    4700, 1494, 0,    0,    0,    0,    0,
+    63,   784,  2218, 0,    0,    1437, 0,    1699, 0,    1559, 0,    812,  0,    1996, 1995, 126,
+    0,    1841, 0,    0,    0,    1889, 0,    720,  139,  3614, 5005, 0,    1370, 727,  1360, 4116,
+    893,  1044, 351,  491,  4795, 0,    0,    3566, 0,    199,  0,    0,    4423, 1286, 0,    4260,
+    1350, 0,    0,    495,  1488, 1655, 0,    608,  0,    0,    146,  0,    1131, 0,    725,  4827,
+    0,    3222, 161,  0,    0,    510,  307,  319,  481,  0,    0,    0,    3016, 502,  402,  112,
+    0,    1960, 0,    0,    0,    5046, 4263, 210,  0,    0,    1434, 3677, 75,   0,    3689, 449,
+    0,    4803, 0,    0,    0,    0,    1623, 0,    0,    991,  2005, 1484, 417,  736,  4435, 0,
+    0,    0,    2076, 0,    0,    1041, 2622, 0,    96,   0,    0,    0,    4618, 0,    0,    2335,
+    0,    3751, 1408, 5002, 465,  27,   0,    0,    0,    0,    871,  0,    0,    7,    5006, 0,
+    39,   0,    383,  0,    3316, 2288, 0,    0,    0,    1332, 0,    0,    0,    2089, 0,    3981,
+    0,    980,  540,  2200, 0,    812,  644,  4281, 1788, 4740, 160,  942,  1600, 0,    1485, 2473,
+    0,    395,  516,  103,  0,    1528, 2029, 2094, 681,  3331, 1102, 821,  994,  1315, 823,  2010,
+    1563, 1323, 1535, 0,    2298, 1573, 0,    0,    553,  621,  1096, 0,    3085, 4752, 693,  0,
+    1151, 2075, 1229, 1786, 0,    0,    1025, 1688, 4674, 5036, 0,    525,  341,  1247, 0,    0,
+    0,    2901, 698,  2072, 0,    0,    0,    2325, 0,    944,  4064, 1104, 0,    0,    0,    650,
+    0,    1324, 0,    649,  1644, 1016, 1535, 0,    468,  5082, 4451, 3644, 2935, 0,    4321, 0,
+    0,    2128, 0,    995,  1084, 144,  0,    0,    0,    3993, 4158, 1843, 0,    2253, 993,  697,
+    1367, 1349, 4452, 0,    0,    1008, 3459, 0,    1704, 0,    0,    548,  0,    3732, 854,  1519,
+    0,    287,  0,    1566, 373,  0,    432,  709,  661,  0,    0,    106,  0,    3599, 51,   0,
+    2118, 0,    302,  0,    633,  0,    3749, 2332, 0,    0,    0,    0,    4980, 1785, 1382, 189,
+    1842, 4122, 1861, 0,    1952, 491,  0,    1730, 0,    0,    4656, 194,  1917, 2358, 0,    4537,
+    448,  0,    0,    4903, 4438, 0,    0,    2558, 0,    1803, 0,    0,    1954, 3484, 0,    0,
+    750,  967,  608,  0,    3442, 0,    0,    949,  3542, 1257, 837,  4187, 2153, 52,   0,    0,
+    0,    0,    0,    2132, 1082, 3915, 0,    2884, 97,   0,    0,    2783, 2931, 304,  577,  0,
+    0,    1074, 2052, 873,  0,    1619, 3362, 0,    592,  0,    0,    2562, 446,  3929, 0,    0,
+    606,  394,  4774, 761,  974,  0,    3529, 0,    180,  4732, 0,    2056, 3255, 1687, 544,  1863,
+    1359, 3946, 2186, 0,    0,    0,    0,    0,    0,    3024, 1127, 4895, 470,  315,  0,    0,
+    2865, 0,    98,   0,    0,    1747, 324,  0,    781,  2095, 0,    0,    0,    0,    488,  0,
+    0,    162,  407,  3144, 2194, 0,    863,  0,    0,    693,  3953, 0,    0,    0,    0,    3389,
+    2736, 5001, 923,  115,  0,    0,    0,    2049, 4447, 978,  140,  0,    1163, 0,    0,    1780,
+    0,    335,  0,    1443, 4253, 3000, 237,  270,  1171, 751,  0,    544,  1448, 1916, 3985, 1593,
+    1329, 2332, 672,  1101, 5023, 407,  1793, 0,    1778, 1683, 4403, 0,    1393, 0,    0,    5062,
+    1279, 1696, 4218, 0,    3989, 0,    4257, 0,    4230, 0,    2312, 1928, 0,    0,    0,    2962,
+    0,    0,    3996, 271,  0,    0,    0,    0,    0,    0,    527,  1544, 0,    23,   0,    4577,
+    663,  332,  1615, 0,    0,    1419, 0,    0,    550,  1618, 1570, 0,    529,  3817, 0,    0,
+    4677, 1305, 3477, 125,  0,    2206, 5045, 459,  1700, 0,    0,    875,  430,  1238, 192,  2901,
+    1995, 563,  0,    0,    727,  4313, 1244, 0,    561,  0,    3651, 0,    0,    0,    1249, 0,
+    0,    0,    0,    5002, 4660, 0,    3220, 897,  2285, 617,  4625, 0,    1218, 3826, 412,  0,
+    0,    792,  0,    0,    4304, 351,  0,    2803, 0,    0,    1045, 0,    218,  1243, 0,    0,
+    4323, 0,    3484, 2117, 0,    0,    0,    0,    855,  1235, 1834, 4054, 0,    426,  1498, 796,
+    55,   0,    421,  0,    4966, 2921, 777,  0,    3751, 1902, 3999, 0,    0,    0,    1564, 0,
+    389,  1322, 3425, 1207, 0,    0,    270,  2256, 0,    0,    1106, 0,    198,  923,  1896, 0,
+    0,    1034, 2313, 2270, 4432, 905,  1447, 3141, 0,    0,    1773, 0,    0,    0,    1558, 372,
+    249,  0,    2138, 0,    5075, 620,  0,    0,    1,    4410, 4630, 0,    542,  398,  0,    0,
+    4677, 735,  0,    15,   0,    1551, 390,  0,    0,    3914, 877,  392,  1166, 3572, 0,    0,
+    1041, 121,  4063, 1693, 0,    1542, 1067, 0,    1873, 612,  0,    0,    1439, 0,    1330, 0,
+    3746, 1272, 4399, 1223, 2216, 2080, 1482, 0,    2070, 0,    1634, 812,  0,    20,   4942, 5022,
+    1155, 4246, 1075, 1271, 1094, 0,    1628, 1918, 4913, 413,  0,    0,    0,    4958, 0,    1461,
+    273,  4628, 3261, 411,  0,    0,    2882, 3801, 535,  3565, 429,  0,    3998, 4260, 4769, 741,
+    626,  4061, 2104, 0,    667,  0,    1171, 3024, 632,  1160, 0,    796,  0,    513,  1812, 1328,
+    1506, 3742, 0,    180,  2298, 1657, 1870, 0,    572,  0,    0,    1752, 0,    0,    906,  179,
+    584,  0,    0,    0,    0,    0,    1574, 0,    2388, 0,    575,  1868, 2891, 0,    162,  2590,
+    231,  0,    0,    0,    0,    0,    1552, 0,    2660, 3575, 3598, 0,    482,  1373, 2570, 1191,
+    0,    916,  1202, 2144, 1821, 0,    1608, 1652, 3630, 0,    0,    0,    0,    0,    0,    4120,
+    107,  0,    0,    0,    0,    489,  4743, 0,    0,    0,    1200, 1122, 0,    914,  4183, 3414,
+    582,  4040, 646,  0,    45,   0,    0,    0,    0,    2067, 0,    1625, 1147, 452,  1296, 0,
+    0,    10,   1055, 932,  2032, 849,  866,  0,    2008, 4718, 2227, 1764, 0,    541,  1802, 50,
+    0,    214,  0,    450,  177,  731,  0,    1132, 809,  0,    0,    1684, 1094, 0,    667,  1012,
+    0,    0,    4697, 0,    0,    0,    0,    764,  0,    0,    2204, 707,  4872, 0,    0,    0,
+    0,    917,  598,  353,  354,  0,    2064, 0,    5070, 1411, 4843, 1181, 0,    53,   2239, 0,
+    2244, 986,  0,    0,    0,    242,  1372, 467,  0,    2190, 4634, 339,  0,    0,    0,    4724,
+    0,    130,  3878, 914,  0,    0,    1733, 4886, 0,    118,  457,  0,    0,    1625, 0,    4495,
+    0,    5071, 2927, 2114, 0,    749,  0,    989,  2322, 606,  0,    1195, 1188, 3304, 0,    3216,
+    137,  0,    4943, 0,    0,    2632, 4973, 310,  2464, 1967, 4015, 872,  4960, 0,    0,    0,
+    518,  0,    77,   0,    607,  0,    434,  0,    1516, 4172, 1709, 1248, 0,    165,  1668, 219,
+    1458, 1340, 1367, 0,    0,    0,    2324, 2812, 0,    0,    2654, 444,  1800, 1678, 0,    872,
+    0,    4484, 1983, 894,  4464, 1352, 1683, 367,  2163, 0,    0,    64,   0,    4907, 1427, 876,
+    459,  0,    776,  0,    0,    3454, 0,    1277, 0,    2211, 84,   0,    560,  724,  0,    414,
+    0,    1711, 839,  3090, 3940, 4508, 0,    843,  1302, 0,    0,    500,  0,    0,    2482, 1020,
+    0,    951,  1872, 546,  4092, 2249, 0,    0,    0,    5032, 0,    104,  1004, 0,    425,  982,
+    0,    501,  764,  57,   0,    1621, 4707, 0,    0,    1791, 0,    1346, 2213, 0,    1899, 0,
+    981,  1141, 0,    0,    0,    122,  1369, 0,    1432, 0,    1310, 4756, 0,    0,    4984, 0,
+    0,    212,  0,    2115, 0,    0,    2209, 2588, 0,    0,    925,  0,    399,  0,    4015, 0,
+    0,    0,    1881, 0,    0,    1184, 1728, 431,  344,  2010, 1272, 4460, 0,    1932, 1452, 1031,
+    147,  0,    0,    3026, 0,    4481, 2608, 0,    0,    0,    581,  0,    2032, 4242, 817,  0,
+    0,    0,    2021, 547,  0,    1192, 2482, 4942, 0,    0,    0,    0,    1177, 978,  575,  113,
+    2261, 1409, 0,    1601, 4523, 902,  0,    4722, 1988, 0,    159,  2194, 1389, 469,  3603, 4822,
+    1192, 0,    0,    1780, 852,  2453, 1504, 0,    0,    676,  0,    0,    1285, 9,    0,    0,
+    764,  767,  0,    0,    0,    200,  0,    622,  2312, 0,    0,    1502, 806,  1973, 108,  2840,
+    1127, 876,  0,    994,  0,    0,    4584, 718,  985,  1129, 319,  0,    2603, 505,  0,    0,
+    0,    1315, 0,    3926, 830,  0,    1873, 0,    2575, 0,    0,    0,    2250, 0,    0,    0,
+    4006, 1033, 480,  0,    1287, 0,    4706, 975,  0,    987,  4732, 4444, 0,    0,    565,  2262,
+    0,    0,    2171, 1119, 0,    2965, 961,  1800, 1438, 761,  3925, 2162, 1896, 4609, 0,    0,
+    0,    811,  0,    0,    0,    0,    0,    641,  0,    3378, 1623, 0,    0,    0,    0,    1530,
+    0,    939,  1986, 0,    0,    1138, 1718, 1658, 2274, 1413, 1149, 721,  40,   0,    0,    940,
+    68,   4284, 0,    0,    1259, 2161, 809,  4730, 874,  271,  4942, 1360, 0,    1053, 0,    307,
+    1511, 0,    2124, 0,    0,    0,    0,    1352, 0,    1182, 164,  1598, 122,  0,    4716, 0,
+    0,    0,    3850, 0,    0,    4923, 1615, 2264, 1875, 3993, 17,   0,    2183, 2937, 1861, 205,
+    4060, 4955, 913,  0,    2843, 0,    331,  4891, 0,    3931, 40,   2125, 4489, 770,  0,    1939,
+    210,  4756, 51,   1648, 2214, 0,    745,  0,    1535, 1253, 1141, 0,    0,    0,    0,    231,
+    1645, 0,    175,  2081, 0,    0,    0,    0,    930,  0,    2274, 137,  965,  2323, 0,    0,
+    5083, 0,    2061, 1705, 0,    600,  0,    0,    0,    3063, 1490, 455,  0,    0,    0,    2233,
+    876,  1125, 1362, 0,    256,  0,    4001, 0,    0,    279,  0,    0,    0,    0,    0,    4728,
+    4743, 1287, 0,    1799, 4349, 0,    0,    0,    4207, 59,   265,  2495, 924,  3104, 2276, 1205,
+    0,    4503, 0,    0,    0,    0,    0,    0,    0,    4229, 0,    0,    1583, 0,    0,    18,
+    0,    1929, 1301, 1097, 0,    1282, 170,  0,    0,    1975, 973,  1548, 0,    1843, 727,  2126,
+    0,    0,    0,    4132, 0,    774,  92};
 
 int HashG(const char *key, const int *T)
 {
diff --git a/src/compiler/translator/SymbolTable_autogen.cpp b/src/compiler/translator/SymbolTable_autogen.cpp
index 8e31188..2b2663f 100644
--- a/src/compiler/translator/SymbolTable_autogen.cpp
+++ b/src/compiler/translator/SymbolTable_autogen.cpp
@@ -2215,7 +2215,6 @@
 constexpr const TSymbolUniqueId BuiltInId::gl_ViewportIndex;
 constexpr const TSymbolUniqueId BuiltInId::gl_LayerVS;
 constexpr const TSymbolUniqueId BuiltInId::gl_DrawID;
-constexpr const TSymbolUniqueId BuiltInId::gl_DrawIDESSL1;
 constexpr const TSymbolUniqueId BuiltInId::gl_BaseVertex;
 constexpr const TSymbolUniqueId BuiltInId::gl_BaseInstance;
 constexpr const TSymbolUniqueId BuiltInId::gl_NumWorkGroups;
@@ -2234,7 +2233,7 @@
 constexpr const TSymbolUniqueId BuiltInId::gl_PositionGS;
 constexpr const TSymbolUniqueId BuiltInId::gl_ViewID_OVR;
 
-const int TSymbolTable::kLastBuiltInId = 2295;
+const int TSymbolTable::kLastBuiltInId = 2294;
 
 namespace BuiltInName
 {
@@ -4817,11 +4816,6 @@
                                          SymbolType::BuiltIn,
                                          TExtension::ANGLE_multi_draw,
                                          StaticType::Get<EbtInt, EbpHigh, EvqDrawID, 1, 1>());
-constexpr const TVariable kVar_gl_DrawIDESSL1(BuiltInId::gl_DrawIDESSL1,
-                                              BuiltInName::gl_DrawID,
-                                              SymbolType::BuiltIn,
-                                              TExtension::ANGLE_multi_draw,
-                                              StaticType::Get<EbtInt, EbpHigh, EvqDrawID, 1, 1>());
 constexpr const TVariable kVar_gl_FragColor(
     BuiltInId::gl_FragColor,
     BuiltInName::gl_FragColor,
@@ -5742,11 +5736,6 @@
     return &kVar_gl_DrawID;
 }
 
-const TVariable *gl_DrawIDESSL1()
-{
-    return &kVar_gl_DrawIDESSL1;
-}
-
 const TVariable *gl_FragColor()
 {
     return &kVar_gl_FragColor;
@@ -26557,14 +26546,6 @@
                     }
                     break;
                 }
-                case 0x000000b5u:
-                {
-                    if (name == BuiltInName::textureGather_00L20B00D)
-                    {
-                        return &BuiltInFunction::function_textureGather_00L20B00D;
-                    }
-                    break;
-                }
                 case 0x000000b7u:
                 {
                     if (name == BuiltInName::imageStore_01A10D30E)
@@ -26821,14 +26802,6 @@
                     }
                     break;
                 }
-                case 0x000001f9u:
-                {
-                    if (name == BuiltInName::bitCount_30E)
-                    {
-                        return &BuiltInFunction::function_bitCount_30E;
-                    }
-                    break;
-                }
                 case 0x00000200u:
                 {
                     if (name == BuiltInName::atomicCounterDecrement_00G)
@@ -26989,7 +26962,7 @@
                     }
                     break;
                 }
-                case 0x0000034eu:
+                case 0x0000034fu:
                 {
                     if (name == BuiltInName::textureGatherOffset_00f20B00B10D)
                     {
@@ -26997,7 +26970,7 @@
                     }
                     break;
                 }
-                case 0x00000350u:
+                case 0x00000351u:
                 {
                     if (name == BuiltInName::imageSize_00y)
                     {
@@ -27005,7 +26978,7 @@
                     }
                     break;
                 }
-                case 0x0000035eu:
+                case 0x0000035fu:
                 {
                     if (name == BuiltInName::gl_MaxGeometryOutputComponents)
                     {
@@ -27013,7 +26986,7 @@
                     }
                     break;
                 }
-                case 0x00000367u:
+                case 0x00000368u:
                 {
                     if (name == BuiltInName::gl_MaxFragmentAtomicCounterBuffers)
                     {
@@ -27021,7 +26994,7 @@
                     }
                     break;
                 }
-                case 0x00000368u:
+                case 0x00000369u:
                 {
                     if (name == BuiltInName::gl_in)
                     {
@@ -27030,7 +27003,7 @@
                     }
                     break;
                 }
-                case 0x00000373u:
+                case 0x00000374u:
                 {
                     if (name == BuiltInName::texelFetchExt_00c20D00D &&
                         mResources.OES_texture_storage_multisample_2d_array)
@@ -27039,7 +27012,7 @@
                     }
                     break;
                 }
-                case 0x00000385u:
+                case 0x00000386u:
                 {
                     if (name == BuiltInName::imageLoad_00z10D)
                     {
@@ -27047,7 +27020,7 @@
                     }
                     break;
                 }
-                case 0x00000392u:
+                case 0x00000393u:
                 {
                     if (name == BuiltInName::textureGather_00a20B)
                     {
@@ -27055,7 +27028,7 @@
                     }
                     break;
                 }
-                case 0x000003a1u:
+                case 0x000003a2u:
                 {
                     if (name == BuiltInName::imulExtended_10D10D10D10D)
                     {
@@ -27063,7 +27036,7 @@
                     }
                     break;
                 }
-                case 0x000003b7u:
+                case 0x000003b9u:
                 {
                     if (name == BuiltInName::imageLoad_00y10D)
                     {
@@ -27071,7 +27044,7 @@
                     }
                     break;
                 }
-                case 0x000003bbu:
+                case 0x000003bdu:
                 {
                     if (name == BuiltInName::ldexp_30B30D)
                     {
@@ -27079,15 +27052,7 @@
                     }
                     break;
                 }
-                case 0x000003d7u:
-                {
-                    if (name == BuiltInName::textureSize_00P)
-                    {
-                        return &BuiltInFunction::function_textureSize_00P;
-                    }
-                    break;
-                }
-                case 0x000003ddu:
+                case 0x000003dfu:
                 {
                     if (name == BuiltInName::atomicOr_00D00D)
                     {
@@ -27095,7 +27060,7 @@
                     }
                     break;
                 }
-                case 0x000003e1u:
+                case 0x000003e3u:
                 {
                     if (name == BuiltInName::textureSize_00V)
                     {
@@ -27103,7 +27068,7 @@
                     }
                     break;
                 }
-                case 0x000003e6u:
+                case 0x000003e8u:
                 {
                     if (name == BuiltInName::findLSB_30D)
                     {
@@ -27111,7 +27076,7 @@
                     }
                     break;
                 }
-                case 0x000003e7u:
+                case 0x000003e9u:
                 {
                     if (name == BuiltInName::findLSB_30E)
                     {
@@ -27119,7 +27084,7 @@
                     }
                     break;
                 }
-                case 0x000003ecu:
+                case 0x000003eeu:
                 {
                     if (name == BuiltInName::textureGatherOffset_00U20B10D)
                     {
@@ -27127,7 +27092,7 @@
                     }
                     break;
                 }
-                case 0x000003f5u:
+                case 0x000003f7u:
                 {
                     if (name == BuiltInName::imageSize_01J)
                     {
@@ -27135,7 +27100,7 @@
                     }
                     break;
                 }
-                case 0x000003f8u:
+                case 0x000003fau:
                 {
                     if (name == BuiltInName::imageSize_01I)
                     {
@@ -27143,7 +27108,7 @@
                     }
                     break;
                 }
-                case 0x000003fau:
+                case 0x000003fcu:
                 {
                     if (name == BuiltInName::textureGather_00f20B)
                     {
@@ -27151,7 +27116,7 @@
                     }
                     break;
                 }
-                case 0x000003fdu:
+                case 0x000003ffu:
                 {
                     if (name == BuiltInName::imageSize_01B)
                     {
@@ -27159,7 +27124,7 @@
                     }
                     break;
                 }
-                case 0x000003feu:
+                case 0x00000400u:
                 {
                     if (name == BuiltInName::imageSize_01C)
                     {
@@ -27167,7 +27132,7 @@
                     }
                     break;
                 }
-                case 0x00000400u:
+                case 0x00000402u:
                 {
                     if (name == BuiltInName::imageSize_01F)
                     {
@@ -27175,7 +27140,7 @@
                     }
                     break;
                 }
-                case 0x00000401u:
+                case 0x00000403u:
                 {
                     if (name == BuiltInName::imageSize_01G)
                     {
@@ -27183,7 +27148,7 @@
                     }
                     break;
                 }
-                case 0x00000403u:
+                case 0x00000405u:
                 {
                     if (name == BuiltInName::bitfieldExtract_00D00D00D)
                     {
@@ -27191,7 +27156,7 @@
                     }
                     break;
                 }
-                case 0x00000414u:
+                case 0x00000416u:
                 {
                     if (name == BuiltInName::textureGatherOffset_00X10B10D)
                     {
@@ -27199,7 +27164,7 @@
                     }
                     break;
                 }
-                case 0x00000424u:
+                case 0x00000426u:
                 {
                     if (name == BuiltInName::textureGather_00Z20B00D)
                     {
@@ -27207,7 +27172,7 @@
                     }
                     break;
                 }
-                case 0x00000428u:
+                case 0x0000042au:
                 {
                     if (name == BuiltInName::imageStore_01E20D30B)
                     {
@@ -27215,7 +27180,7 @@
                     }
                     break;
                 }
-                case 0x0000042bu:
+                case 0x0000042du:
                 {
                     if (name == BuiltInName::gl_MaxGeometryTextureImageUnits)
                     {
@@ -27223,7 +27188,15 @@
                     }
                     break;
                 }
-                case 0x00000448u:
+                case 0x00000443u:
+                {
+                    if (name == BuiltInName::textureGather_00L20B00D)
+                    {
+                        return &BuiltInFunction::function_textureGather_00L20B00D;
+                    }
+                    break;
+                }
+                case 0x0000044bu:
                 {
                     if (name == BuiltInName::textureGather_00e20B)
                     {
@@ -27231,7 +27204,7 @@
                     }
                     break;
                 }
-                case 0x0000044du:
+                case 0x00000450u:
                 {
                     if (name == BuiltInName::textureGather_00K20B00D)
                     {
@@ -27239,7 +27212,7 @@
                     }
                     break;
                 }
-                case 0x00000450u:
+                case 0x00000453u:
                 {
                     if (name == BuiltInName::textureGather_00T20B00D)
                     {
@@ -27247,7 +27220,7 @@
                     }
                     break;
                 }
-                case 0x0000045au:
+                case 0x0000045du:
                 {
                     if (name == BuiltInName::atomicCompSwap_00D00D00D)
                     {
@@ -27255,7 +27228,7 @@
                     }
                     break;
                 }
-                case 0x00000468u:
+                case 0x0000046bu:
                 {
                     if (name == BuiltInName::usubBorrow_10E10E10E)
                     {
@@ -27263,7 +27236,7 @@
                     }
                     break;
                 }
-                case 0x00000481u:
+                case 0x00000484u:
                 {
                     if (name == BuiltInName::textureGather_00U20B00D)
                     {
@@ -27271,7 +27244,7 @@
                     }
                     break;
                 }
-                case 0x00000484u:
+                case 0x00000487u:
                 {
                     if (name == BuiltInName::memoryBarrier_)
                     {
@@ -27279,7 +27252,7 @@
                     }
                     break;
                 }
-                case 0x000004a3u:
+                case 0x000004a6u:
                 {
                     if (name == BuiltInName::imageStore_01D20D30E)
                     {
@@ -27287,7 +27260,7 @@
                     }
                     break;
                 }
-                case 0x000004b3u:
+                case 0x000004b6u:
                 {
                     if (name == BuiltInName::texelFetch_00b10D00D)
                     {
@@ -27295,7 +27268,7 @@
                     }
                     break;
                 }
-                case 0x000004b6u:
+                case 0x000004b9u:
                 {
                     if (name == BuiltInName::textureGather_00R10B)
                     {
@@ -27303,7 +27276,7 @@
                     }
                     break;
                 }
-                case 0x000004c4u:
+                case 0x000004c7u:
                 {
                     if (name == BuiltInName::bitfieldReverse_20D)
                     {
@@ -27311,7 +27284,7 @@
                     }
                     break;
                 }
-                case 0x000004c5u:
+                case 0x000004c8u:
                 {
                     if (name == BuiltInName::bitfieldReverse_20E)
                     {
@@ -27319,7 +27292,7 @@
                     }
                     break;
                 }
-                case 0x000004dau:
+                case 0x000004ddu:
                 {
                     if (name == BuiltInName::atomicAnd_00D00D)
                     {
@@ -27327,7 +27300,15 @@
                     }
                     break;
                 }
-                case 0x000004deu:
+                case 0x000004e0u:
+                {
+                    if (name == BuiltInName::bitCount_30E)
+                    {
+                        return &BuiltInFunction::function_bitCount_30E;
+                    }
+                    break;
+                }
+                case 0x000004e1u:
                 {
                     if (name == BuiltInName::bitCount_30D)
                     {
@@ -27335,7 +27316,7 @@
                     }
                     break;
                 }
-                case 0x000004e7u:
+                case 0x000004eau:
                 {
                     if (name == BuiltInName::gl_MaxImageUnits)
                     {
@@ -27343,7 +27324,7 @@
                     }
                     break;
                 }
-                case 0x000004e9u:
+                case 0x000004ecu:
                 {
                     if (name == BuiltInName::packUnorm4x8_30B)
                     {
@@ -27351,7 +27332,7 @@
                     }
                     break;
                 }
-                case 0x000004eau:
+                case 0x000004edu:
                 {
                     if (name == BuiltInName::texelFetch_00P10D00D)
                     {
@@ -27359,7 +27340,7 @@
                     }
                     break;
                 }
-                case 0x000004ffu:
+                case 0x00000502u:
                 {
                     if (name == BuiltInName::atomicOr_00E00E)
                     {
@@ -27367,7 +27348,7 @@
                     }
                     break;
                 }
-                case 0x00000503u:
+                case 0x00000506u:
                 {
                     if (name == BuiltInName::atomicMax_00D00D)
                     {
@@ -27375,7 +27356,7 @@
                     }
                     break;
                 }
-                case 0x0000050eu:
+                case 0x00000511u:
                 {
                     if (name == BuiltInName::gl_MaxComputeWorkGroupSize)
                     {
@@ -27383,7 +27364,7 @@
                     }
                     break;
                 }
-                case 0x0000051du:
+                case 0x00000520u:
                 {
                     if (name == BuiltInName::imageStore_01G20D30E)
                     {
@@ -27391,7 +27372,7 @@
                     }
                     break;
                 }
-                case 0x00000536u:
+                case 0x00000539u:
                 {
                     if (name == BuiltInName::imulExtended_20D20D20D20D)
                     {
@@ -27399,7 +27380,7 @@
                     }
                     break;
                 }
-                case 0x0000054cu:
+                case 0x0000054fu:
                 {
                     if (name == BuiltInName::usubBorrow_20E20E20E)
                     {
@@ -27407,7 +27388,7 @@
                     }
                     break;
                 }
-                case 0x00000562u:
+                case 0x00000565u:
                 {
                     if (name == BuiltInName::imageStore_01F20D30D)
                     {
@@ -27415,7 +27396,7 @@
                     }
                     break;
                 }
-                case 0x00000568u:
+                case 0x0000056bu:
                 {
                     if (name == BuiltInName::textureGatherOffset_00U20B10D00D)
                     {
@@ -27423,7 +27404,7 @@
                     }
                     break;
                 }
-                case 0x0000056au:
+                case 0x0000056du:
                 {
                     if (name == BuiltInName::textureGather_00I10B00D)
                     {
@@ -27431,7 +27412,7 @@
                     }
                     break;
                 }
-                case 0x0000056cu:
+                case 0x0000056fu:
                 {
                     if (name == BuiltInName::texelFetch_00V10D00D)
                     {
@@ -27439,7 +27420,7 @@
                     }
                     break;
                 }
-                case 0x0000058cu:
+                case 0x0000058fu:
                 {
                     if (name == BuiltInName::bitfieldReverse_30E)
                     {
@@ -27447,7 +27428,7 @@
                     }
                     break;
                 }
-                case 0x0000058du:
+                case 0x00000590u:
                 {
                     if (name == BuiltInName::bitfieldReverse_30D)
                     {
@@ -27455,7 +27436,7 @@
                     }
                     break;
                 }
-                case 0x00000596u:
+                case 0x00000598u:
                 {
                     if (name == BuiltInName::gl_MaxGeometryTotalOutputComponents)
                     {
@@ -27463,7 +27444,7 @@
                     }
                     break;
                 }
-                case 0x000005a8u:
+                case 0x000005aau:
                 {
                     if (name == BuiltInName::bitCount_20D)
                     {
@@ -27471,7 +27452,7 @@
                     }
                     break;
                 }
-                case 0x000005a9u:
+                case 0x000005abu:
                 {
                     if (name == BuiltInName::bitCount_20E)
                     {
@@ -27479,7 +27460,7 @@
                     }
                     break;
                 }
-                case 0x000005aeu:
+                case 0x000005b0u:
                 {
                     if (name == BuiltInName::uaddCarry_30E30E30E)
                     {
@@ -27487,7 +27468,7 @@
                     }
                     break;
                 }
-                case 0x000005b1u:
+                case 0x000005b3u:
                 {
                     if (name == BuiltInName::gl_MaxCombinedImageUniforms)
                     {
@@ -27495,7 +27476,7 @@
                     }
                     break;
                 }
-                case 0x000005c6u:
+                case 0x000005c8u:
                 {
                     if (name == BuiltInName::textureGatherOffset_00I10B10D00D)
                     {
@@ -27503,7 +27484,7 @@
                     }
                     break;
                 }
-                case 0x000005cbu:
+                case 0x000005cdu:
                 {
                     if (name == BuiltInName::imageLoad_01J20D)
                     {
@@ -27511,7 +27492,7 @@
                     }
                     break;
                 }
-                case 0x000005ceu:
+                case 0x000005d0u:
                 {
                     if (name == BuiltInName::usubBorrow_00E00E00E)
                     {
@@ -27519,7 +27500,7 @@
                     }
                     break;
                 }
-                case 0x000005d5u:
+                case 0x000005d7u:
                 {
                     if (name == BuiltInName::gl_MaxVertexImageUniforms)
                     {
@@ -27527,7 +27508,7 @@
                     }
                     break;
                 }
-                case 0x000005e8u:
+                case 0x000005eau:
                 {
                     if (name == BuiltInName::bitfieldExtract_00E00D00D)
                     {
@@ -27535,7 +27516,7 @@
                     }
                     break;
                 }
-                case 0x000005e9u:
+                case 0x000005ebu:
                 {
                     if (name == BuiltInName::imageStore_01I20D30D)
                     {
@@ -27543,7 +27524,7 @@
                     }
                     break;
                 }
-                case 0x00000602u:
+                case 0x00000604u:
                 {
                     if (name == BuiltInName::umulExtended_10E10E10E10E)
                     {
@@ -27551,7 +27532,7 @@
                     }
                     break;
                 }
-                case 0x00000606u:
+                case 0x00000608u:
                 {
                     if (name == BuiltInName::umulExtended_30E30E30E30E)
                     {
@@ -27559,7 +27540,7 @@
                     }
                     break;
                 }
-                case 0x0000060au:
+                case 0x0000060cu:
                 {
                     if (name == BuiltInName::textureGatherOffset_00a20B10D)
                     {
@@ -27567,7 +27548,7 @@
                     }
                     break;
                 }
-                case 0x00000626u:
+                case 0x00000628u:
                 {
                     if (name == BuiltInName::usubBorrow_30E30E30E)
                     {
@@ -27575,7 +27556,7 @@
                     }
                     break;
                 }
-                case 0x0000062du:
+                case 0x0000062fu:
                 {
                     if (name == BuiltInName::imageSize_01H)
                     {
@@ -27583,7 +27564,7 @@
                     }
                     break;
                 }
-                case 0x00000638u:
+                case 0x0000063au:
                 {
                     if (name == BuiltInName::findLSB_00D)
                     {
@@ -27591,7 +27572,7 @@
                     }
                     break;
                 }
-                case 0x0000063bu:
+                case 0x0000063du:
                 {
                     if (name == BuiltInName::imageSize_01A)
                     {
@@ -27599,7 +27580,7 @@
                     }
                     break;
                 }
-                case 0x00000641u:
+                case 0x00000643u:
                 {
                     if (name == BuiltInName::imageSize_01D)
                     {
@@ -27607,7 +27588,7 @@
                     }
                     break;
                 }
-                case 0x00000644u:
+                case 0x00000646u:
                 {
                     if (name == BuiltInName::imageSize_01E)
                     {
@@ -27615,7 +27596,7 @@
                     }
                     break;
                 }
-                case 0x0000065fu:
+                case 0x00000661u:
                 {
                     if (name == BuiltInName::textureGather_00U20B)
                     {
@@ -27623,7 +27604,7 @@
                     }
                     break;
                 }
-                case 0x00000660u:
+                case 0x00000662u:
                 {
                     if (name == BuiltInName::imageStore_01H20D30B)
                     {
@@ -27631,7 +27612,7 @@
                     }
                     break;
                 }
-                case 0x00000661u:
+                case 0x00000663u:
                 {
                     if (name == BuiltInName::texelFetchExt_00Q20D00D &&
                         mResources.OES_texture_storage_multisample_2d_array)
@@ -27640,7 +27621,7 @@
                     }
                     break;
                 }
-                case 0x00000672u:
+                case 0x00000674u:
                 {
                     if (name == BuiltInName::bitfieldInsert_10E10E00D00D)
                     {
@@ -27648,7 +27629,7 @@
                     }
                     break;
                 }
-                case 0x00000673u:
+                case 0x00000675u:
                 {
                     if (name == BuiltInName::packSnorm4x8_30B)
                     {
@@ -27656,7 +27637,7 @@
                     }
                     break;
                 }
-                case 0x00000699u:
+                case 0x0000069bu:
                 {
                     if (name == BuiltInName::gl_MaxCombinedAtomicCounters)
                     {
@@ -27664,7 +27645,7 @@
                     }
                     break;
                 }
-                case 0x0000069au:
+                case 0x0000069cu:
                 {
                     if (name == BuiltInName::bitfieldInsert_10D10D00D00D)
                     {
@@ -27672,7 +27653,7 @@
                     }
                     break;
                 }
-                case 0x000006a9u:
+                case 0x000006abu:
                 {
                     if (name == BuiltInName::uaddCarry_10E10E10E)
                     {
@@ -27680,7 +27661,7 @@
                     }
                     break;
                 }
-                case 0x000006adu:
+                case 0x000006afu:
                 {
                     if (name == BuiltInName::atomicCounterIncrement_00G)
                     {
@@ -27688,7 +27669,7 @@
                     }
                     break;
                 }
-                case 0x000006d2u:
+                case 0x000006d4u:
                 {
                     if (name == BuiltInName::gl_MaxComputeAtomicCounters)
                     {
@@ -27696,7 +27677,7 @@
                     }
                     break;
                 }
-                case 0x000006e6u:
+                case 0x000006e8u:
                 {
                     if (name == BuiltInName::imageLoad_01A10D)
                     {
@@ -27704,7 +27685,7 @@
                     }
                     break;
                 }
-                case 0x000006f0u:
+                case 0x000006f1u:
                 {
                     if (name == BuiltInName::textureGather_00a20B00D)
                     {
@@ -27712,7 +27693,7 @@
                     }
                     break;
                 }
-                case 0x0000070eu:
+                case 0x0000070fu:
                 {
                     if (name == BuiltInName::imulExtended_30D30D30D30D)
                     {
@@ -27720,7 +27701,7 @@
                     }
                     break;
                 }
-                case 0x00000711u:
+                case 0x00000712u:
                 {
                     if (name == BuiltInName::imulExtended_00D00D00D00D)
                     {
@@ -27728,7 +27709,7 @@
                     }
                     break;
                 }
-                case 0x0000071fu:
+                case 0x00000720u:
                 {
                     if (name == BuiltInName::bitfieldInsert_20D20D00D00D)
                     {
@@ -27736,7 +27717,7 @@
                     }
                     break;
                 }
-                case 0x00000725u:
+                case 0x00000726u:
                 {
                     if (name == BuiltInName::imageStore_00y10D30B)
                     {
@@ -27744,7 +27725,7 @@
                     }
                     break;
                 }
-                case 0x00000729u:
+                case 0x0000072au:
                 {
                     if (name == BuiltInName::gl_MaxComputeUniformComponents)
                     {
@@ -27752,7 +27733,7 @@
                     }
                     break;
                 }
-                case 0x00000732u:
+                case 0x00000733u:
                 {
                     if (name == BuiltInName::memoryBarrierAtomicCounter_)
                     {
@@ -27760,7 +27741,7 @@
                     }
                     break;
                 }
-                case 0x00000733u:
+                case 0x00000734u:
                 {
                     if (name == BuiltInName::bitfieldInsert_00E00E00D00D)
                     {
@@ -27768,7 +27749,7 @@
                     }
                     break;
                 }
-                case 0x00000742u:
+                case 0x00000743u:
                 {
                     if (name == BuiltInName::imageStore_01B20D30B)
                     {
@@ -27776,7 +27757,7 @@
                     }
                     break;
                 }
-                case 0x00000748u:
+                case 0x00000749u:
                 {
                     if (name == BuiltInName::findLSB_20E)
                     {
@@ -27784,7 +27765,7 @@
                     }
                     break;
                 }
-                case 0x00000749u:
+                case 0x0000074au:
                 {
                     if (name == BuiltInName::findLSB_20D)
                     {
@@ -27792,7 +27773,7 @@
                     }
                     break;
                 }
-                case 0x00000769u:
+                case 0x0000076au:
                 {
                     if (name == BuiltInName::atomicAnd_00E00E)
                     {
@@ -27800,7 +27781,7 @@
                     }
                     break;
                 }
-                case 0x00000774u:
+                case 0x00000775u:
                 {
                     if (name == BuiltInName::bitfieldInsert_30D30D00D00D)
                     {
@@ -27808,7 +27789,7 @@
                     }
                     break;
                 }
-                case 0x00000778u:
+                case 0x00000779u:
                 {
                     if (name == BuiltInName::bitfieldExtract_10E00D00D)
                     {
@@ -27816,7 +27797,7 @@
                     }
                     break;
                 }
-                case 0x000007a7u:
+                case 0x000007a8u:
                 {
                     if (name == BuiltInName::findMSB_20D)
                     {
@@ -27824,7 +27805,7 @@
                     }
                     break;
                 }
-                case 0x000007a8u:
+                case 0x000007a9u:
                 {
                     if (name == BuiltInName::findMSB_20E)
                     {
@@ -27832,7 +27813,7 @@
                     }
                     break;
                 }
-                case 0x000007aeu:
+                case 0x000007afu:
                 {
                     if (name == BuiltInName::unpackSnorm4x8_00E)
                     {
@@ -27840,7 +27821,7 @@
                     }
                     break;
                 }
-                case 0x000007afu:
+                case 0x000007b0u:
                 {
                     if (name == BuiltInName::imageLoad_01C20D)
                     {
@@ -27848,7 +27829,7 @@
                     }
                     break;
                 }
-                case 0x000007d8u:
+                case 0x000007d9u:
                 {
                     if (name == BuiltInName::textureGather_00d10B)
                     {
@@ -27856,7 +27837,7 @@
                     }
                     break;
                 }
-                case 0x000007d9u:
+                case 0x000007dau:
                 {
                     if (name == BuiltInName::gl_MaxGeometryAtomicCounterBuffers)
                     {
@@ -27864,7 +27845,7 @@
                     }
                     break;
                 }
-                case 0x000007dcu:
+                case 0x000007ddu:
                 {
                     if (name == BuiltInName::atomicCounter_00G)
                     {
@@ -27872,7 +27853,7 @@
                     }
                     break;
                 }
-                case 0x000007efu:
+                case 0x000007f0u:
                 {
                     if (name == BuiltInName::gl_MaxGeometryInputComponents)
                     {
@@ -27880,7 +27861,7 @@
                     }
                     break;
                 }
-                case 0x000007fcu:
+                case 0x000007fdu:
                 {
                     if (name == BuiltInName::findLSB_10D)
                     {
@@ -27888,7 +27869,7 @@
                     }
                     break;
                 }
-                case 0x00000808u:
+                case 0x00000809u:
                 {
                     if (name == BuiltInName::textureGather_00X10B00D)
                     {
@@ -27896,7 +27877,7 @@
                     }
                     break;
                 }
-                case 0x0000081fu:
+                case 0x00000820u:
                 {
                     if (name == BuiltInName::atomicExchange_00D00D)
                     {
@@ -27904,7 +27885,7 @@
                     }
                     break;
                 }
-                case 0x00000821u:
+                case 0x00000822u:
                 {
                     if (name == BuiltInName::gl_MaxGeometryAtomicCounters)
                     {
@@ -27912,7 +27893,7 @@
                     }
                     break;
                 }
-                case 0x00000830u:
+                case 0x00000831u:
                 {
                     if (name == BuiltInName::imageLoad_01G20D)
                     {
@@ -27920,7 +27901,7 @@
                     }
                     break;
                 }
-                case 0x00000843u:
+                case 0x00000844u:
                 {
                     if (name == BuiltInName::textureSizeExt_00c &&
                         mResources.OES_texture_storage_multisample_2d_array)
@@ -27929,7 +27910,7 @@
                     }
                     break;
                 }
-                case 0x00000844u:
+                case 0x00000845u:
                 {
                     if (name == BuiltInName::textureSize_00b)
                     {
@@ -27937,7 +27918,7 @@
                     }
                     break;
                 }
-                case 0x0000084bu:
+                case 0x0000084cu:
                 {
                     if (name == BuiltInName::bitfieldInsert_20E20E00D00D)
                     {
@@ -27945,7 +27926,7 @@
                     }
                     break;
                 }
-                case 0x00000852u:
+                case 0x00000853u:
                 {
                     if (name == BuiltInName::textureSizeExt_00Q &&
                         mResources.OES_texture_storage_multisample_2d_array)
@@ -27954,7 +27935,15 @@
                     }
                     break;
                 }
-                case 0x00000856u:
+                case 0x00000854u:
+                {
+                    if (name == BuiltInName::textureSize_00P)
+                    {
+                        return &BuiltInFunction::function_textureSize_00P;
+                    }
+                    break;
+                }
+                case 0x00000857u:
                 {
                     if (name == BuiltInName::textureSizeExt_00W &&
                         mResources.OES_texture_storage_multisample_2d_array)
@@ -28177,7 +28166,7 @@
                         }
                         break;
                     }
-                    case 0x0000038fu:
+                    case 0x00000390u:
                     {
                         if (name == BuiltInName::gl_WorkGroupSize)
                         {
@@ -28185,7 +28174,7 @@
                         }
                         break;
                     }
-                    case 0x000005b5u:
+                    case 0x000005b7u:
                     {
                         if (name == BuiltInName::gl_GlobalInvocationID)
                         {
@@ -28193,7 +28182,7 @@
                         }
                         break;
                     }
-                    case 0x0000064fu:
+                    case 0x00000651u:
                     {
                         if (name == BuiltInName::gl_NumWorkGroups)
                         {
@@ -28201,7 +28190,7 @@
                         }
                         break;
                     }
-                    case 0x000007a2u:
+                    case 0x000007a3u:
                     {
                         if (name == BuiltInName::barrier_)
                         {
@@ -28209,7 +28198,7 @@
                         }
                         break;
                     }
-                    case 0x000007d6u:
+                    case 0x000007d7u:
                     {
                         if (name == BuiltInName::gl_LocalInvocationID)
                         {
@@ -28217,7 +28206,7 @@
                         }
                         break;
                     }
-                    case 0x00000819u:
+                    case 0x0000081au:
                     {
                         if (name == BuiltInName::gl_WorkGroupID)
                         {
@@ -28263,7 +28252,7 @@
                         }
                         break;
                     }
-                    case 0x0000038bu:
+                    case 0x0000038cu:
                     {
                         if (name == BuiltInName::gl_PerVertex)
                         {
@@ -28271,7 +28260,7 @@
                         }
                         break;
                     }
-                    case 0x000003d5u:
+                    case 0x000003d7u:
                     {
                         if (name == BuiltInName::EndPrimitive_ && mResources.EXT_geometry_shader)
                         {
@@ -28279,7 +28268,7 @@
                         }
                         break;
                     }
-                    case 0x00000434u:
+                    case 0x00000436u:
                     {
                         if (name == BuiltInName::gl_Position)
                         {
@@ -28287,7 +28276,7 @@
                         }
                         break;
                     }
-                    case 0x000006f7u:
+                    case 0x000006f8u:
                     {
                         if (name == BuiltInName::gl_PrimitiveID)
                         {
@@ -28295,7 +28284,7 @@
                         }
                         break;
                     }
-                    case 0x000006fcu:
+                    case 0x000006fdu:
                     {
                         if (name == BuiltInName::gl_Layer)
                         {
@@ -28317,7 +28306,7 @@
             {
                 switch (nameHash)
                 {
-                    case 0x000006f7u:
+                    case 0x000006f8u:
                     {
                         if (name == BuiltInName::gl_PrimitiveID)
                         {
@@ -28325,7 +28314,7 @@
                         }
                         break;
                     }
-                    case 0x000006fcu:
+                    case 0x000006fdu:
                     {
                         if (name == BuiltInName::gl_Layer)
                         {
@@ -28868,14 +28857,6 @@
                     }
                     break;
                 }
-                case 0x00000189u:
-                {
-                    if (name == BuiltInName::textureProjOffset_00X20B10D)
-                    {
-                        return &BuiltInFunction::function_textureProjOffset_00X20B10D;
-                    }
-                    break;
-                }
                 case 0x0000018bu:
                 {
                     if (name == BuiltInName::textureProjGradOffset_00d30B10B10B10D)
@@ -29486,7 +29467,7 @@
                     }
                     break;
                 }
-                case 0x00000356u:
+                case 0x00000357u:
                 {
                     if (name == BuiltInName::textureGrad_00a20B10B10B)
                     {
@@ -29494,7 +29475,7 @@
                     }
                     break;
                 }
-                case 0x00000361u:
+                case 0x00000362u:
                 {
                     if (name == BuiltInName::textureProjGrad_00d30B10B10B)
                     {
@@ -29502,7 +29483,7 @@
                     }
                     break;
                 }
-                case 0x00000366u:
+                case 0x00000367u:
                 {
                     if (name == BuiltInName::max_30E30E)
                     {
@@ -29510,7 +29491,7 @@
                     }
                     break;
                 }
-                case 0x0000036bu:
+                case 0x0000036cu:
                 {
                     if (name == BuiltInName::textureProjLodOffset_00J30B00B20D)
                     {
@@ -29518,7 +29499,7 @@
                     }
                     break;
                 }
-                case 0x00000376u:
+                case 0x00000377u:
                 {
                     if (name == BuiltInName::textureProjLod_00R30B00B)
                     {
@@ -29526,7 +29507,7 @@
                     }
                     break;
                 }
-                case 0x0000037du:
+                case 0x0000037eu:
                 {
                     if (name == BuiltInName::clamp_20D20D20D)
                     {
@@ -29534,7 +29515,7 @@
                     }
                     break;
                 }
-                case 0x00000382u:
+                case 0x00000383u:
                 {
                     if (name == BuiltInName::max_10E00E)
                     {
@@ -29542,7 +29523,7 @@
                     }
                     break;
                 }
-                case 0x00000383u:
+                case 0x00000384u:
                 {
                     if (name == BuiltInName::textureGrad_00U20B10B10B)
                     {
@@ -29550,7 +29531,7 @@
                     }
                     break;
                 }
-                case 0x00000388u:
+                case 0x00000389u:
                 {
                     if (name == BuiltInName::sinh_20B)
                     {
@@ -29558,7 +29539,7 @@
                     }
                     break;
                 }
-                case 0x00000389u:
+                case 0x0000038au:
                 {
                     if (name == BuiltInName::matrixCompMult_E0BE0B)
                     {
@@ -29566,7 +29547,7 @@
                     }
                     break;
                 }
-                case 0x00000390u:
+                case 0x00000391u:
                 {
                     if (name == BuiltInName::asinh_30B)
                     {
@@ -29574,7 +29555,7 @@
                     }
                     break;
                 }
-                case 0x00000397u:
+                case 0x00000398u:
                 {
                     if (name == BuiltInName::textureProj_00O30B && mResources.ARB_texture_rectangle)
                     {
@@ -29582,7 +29563,7 @@
                     }
                     break;
                 }
-                case 0x0000039fu:
+                case 0x000003a0u:
                 {
                     if (name == BuiltInName::isnan_00B)
                     {
@@ -29590,7 +29571,7 @@
                     }
                     break;
                 }
-                case 0x000003a6u:
+                case 0x000003a8u:
                 {
                     if (name == BuiltInName::min_00E00E)
                     {
@@ -29598,7 +29579,7 @@
                     }
                     break;
                 }
-                case 0x000003a8u:
+                case 0x000003aau:
                 {
                     if (name == BuiltInName::textureGradOffset_00I10B10B10B10D)
                     {
@@ -29606,7 +29587,7 @@
                     }
                     break;
                 }
-                case 0x000003a9u:
+                case 0x000003abu:
                 {
                     if (name == BuiltInName::textureLodOffset_00J20B00B20D)
                     {
@@ -29614,7 +29595,7 @@
                     }
                     break;
                 }
-                case 0x000003afu:
+                case 0x000003b1u:
                 {
                     if (name == BuiltInName::floatBitsToInt_10B)
                     {
@@ -29622,7 +29603,7 @@
                     }
                     break;
                 }
-                case 0x000003b0u:
+                case 0x000003b2u:
                 {
                     if (name == BuiltInName::textureLod_00a20B00B)
                     {
@@ -29630,7 +29611,7 @@
                     }
                     break;
                 }
-                case 0x000003b1u:
+                case 0x000003b3u:
                 {
                     if (name == BuiltInName::textureProj_00N30B && mResources.EXT_YUV_target)
                     {
@@ -29638,7 +29619,7 @@
                     }
                     break;
                 }
-                case 0x000003b5u:
+                case 0x000003b7u:
                 {
                     if (name == BuiltInName::packSnorm2x16_10B)
                     {
@@ -29646,7 +29627,7 @@
                     }
                     break;
                 }
-                case 0x000003b6u:
+                case 0x000003b8u:
                 {
                     if (name == BuiltInName::floatBitsToUint_30B)
                     {
@@ -29654,7 +29635,7 @@
                     }
                     break;
                 }
-                case 0x000003b8u:
+                case 0x000003bau:
                 {
                     if (name == BuiltInName::textureOffset_00R10B10D)
                     {
@@ -29662,7 +29643,7 @@
                     }
                     break;
                 }
-                case 0x000003bau:
+                case 0x000003bcu:
                 {
                     if (name == BuiltInName::textureProjGradOffset_00R20B10B10B10D)
                     {
@@ -29670,7 +29651,7 @@
                     }
                     break;
                 }
-                case 0x000003c8u:
+                case 0x000003cau:
                 {
                     if (name == BuiltInName::abs_00D)
                     {
@@ -29678,7 +29659,7 @@
                     }
                     break;
                 }
-                case 0x000003cbu:
+                case 0x000003cdu:
                 {
                     if (name == BuiltInName::textureLod_00R10B00B)
                     {
@@ -29686,7 +29667,7 @@
                     }
                     break;
                 }
-                case 0x000003ccu:
+                case 0x000003ceu:
                 {
                     if (name == BuiltInName::textureLodOffset_00U20B00B10D)
                     {
@@ -29694,7 +29675,7 @@
                     }
                     break;
                 }
-                case 0x000003d3u:
+                case 0x000003d5u:
                 {
                     if (name == BuiltInName::textureProjGradOffset_00X20B10B10B10D)
                     {
@@ -29702,16 +29683,15 @@
                     }
                     break;
                 }
-                case 0x000003d7u:
+                case 0x000003d9u:
                 {
-                    if (name == BuiltInName::textureSizeExt_00P &&
-                        mResources.ANGLE_texture_multisample)
+                    if (name == BuiltInName::round_20B)
                     {
-                        return &BuiltInFunction::function_textureSizeExt_00P;
+                        return &BuiltInFunction::function_round_20B;
                     }
                     break;
                 }
-                case 0x000003d8u:
+                case 0x000003dau:
                 {
                     if (name == BuiltInName::equal_30E30E)
                     {
@@ -29719,7 +29699,7 @@
                     }
                     break;
                 }
-                case 0x000003e1u:
+                case 0x000003e3u:
                 {
                     if (name == BuiltInName::textureSizeExt_00V &&
                         mResources.ANGLE_texture_multisample)
@@ -29728,7 +29708,7 @@
                     }
                     break;
                 }
-                case 0x000003efu:
+                case 0x000003f1u:
                 {
                     if (name == BuiltInName::min_10D00D)
                     {
@@ -29736,7 +29716,7 @@
                     }
                     break;
                 }
-                case 0x000003f9u:
+                case 0x000003fbu:
                 {
                     if (name == BuiltInName::packHalf2x16_10B)
                     {
@@ -29744,7 +29724,7 @@
                     }
                     break;
                 }
-                case 0x00000407u:
+                case 0x00000409u:
                 {
                     if (name == BuiltInName::texelFetch_00X10D00D)
                     {
@@ -29752,7 +29732,7 @@
                     }
                     break;
                 }
-                case 0x0000041au:
+                case 0x0000041cu:
                 {
                     if (name == BuiltInName::textureLod_00S20B00B)
                     {
@@ -29760,7 +29740,7 @@
                     }
                     break;
                 }
-                case 0x00000421u:
+                case 0x00000423u:
                 {
                     if (name == BuiltInName::mix_30B30B30F)
                     {
@@ -29768,7 +29748,7 @@
                     }
                     break;
                 }
-                case 0x0000042au:
+                case 0x0000042cu:
                 {
                     if (name == BuiltInName::max_30D30D)
                     {
@@ -29776,7 +29756,7 @@
                     }
                     break;
                 }
-                case 0x0000042eu:
+                case 0x00000430u:
                 {
                     if (name == BuiltInName::textureSize_00M00D &&
                         mResources.OES_EGL_image_external_essl3)
@@ -29785,7 +29765,7 @@
                     }
                     break;
                 }
-                case 0x00000433u:
+                case 0x00000435u:
                 {
                     if (name == BuiltInName::textureGradOffset_00U20B10B10B10D)
                     {
@@ -29793,7 +29773,7 @@
                     }
                     break;
                 }
-                case 0x00000436u:
+                case 0x00000438u:
                 {
                     if (name == BuiltInName::textureProj_00M30B &&
                         mResources.OES_EGL_image_external_essl3)
@@ -29802,7 +29782,7 @@
                     }
                     break;
                 }
-                case 0x00000437u:
+                case 0x00000439u:
                 {
                     if (name == BuiltInName::textureGradOffset_00L20B10B10B10D)
                     {
@@ -29810,7 +29790,7 @@
                     }
                     break;
                 }
-                case 0x00000440u:
+                case 0x00000442u:
                 {
                     if (name == BuiltInName::textureProjLod_00S30B00B)
                     {
@@ -29818,7 +29798,7 @@
                     }
                     break;
                 }
-                case 0x00000441u:
+                case 0x00000444u:
                 {
                     if (name == BuiltInName::textureProjGrad_00R20B10B10B)
                     {
@@ -29826,7 +29806,7 @@
                     }
                     break;
                 }
-                case 0x00000447u:
+                case 0x0000044au:
                 {
                     if (name == BuiltInName::textureProjGrad_00I20B10B10B)
                     {
@@ -29834,7 +29814,7 @@
                     }
                     break;
                 }
-                case 0x00000451u:
+                case 0x00000454u:
                 {
                     if (name == BuiltInName::textureProj_00N20B && mResources.EXT_YUV_target)
                     {
@@ -29842,7 +29822,7 @@
                     }
                     break;
                 }
-                case 0x00000459u:
+                case 0x0000045cu:
                 {
                     if (name == BuiltInName::textureProjLodOffset_00X30B00B10D)
                     {
@@ -29850,7 +29830,7 @@
                     }
                     break;
                 }
-                case 0x0000045du:
+                case 0x00000460u:
                 {
                     if (name == BuiltInName::texelFetchOffset_00U20D00D10D)
                     {
@@ -29858,7 +29838,7 @@
                     }
                     break;
                 }
-                case 0x00000461u:
+                case 0x00000464u:
                 {
                     if (name == BuiltInName::textureGradOffset_00d20B10B10B10D)
                     {
@@ -29866,7 +29846,7 @@
                     }
                     break;
                 }
-                case 0x00000463u:
+                case 0x00000466u:
                 {
                     if (name == BuiltInName::textureProjOffset_00d30B10D)
                     {
@@ -29874,7 +29854,7 @@
                     }
                     break;
                 }
-                case 0x00000471u:
+                case 0x00000474u:
                 {
                     if (name == BuiltInName::isnan_10B)
                     {
@@ -29882,7 +29862,7 @@
                     }
                     break;
                 }
-                case 0x0000047au:
+                case 0x0000047du:
                 {
                     if (name == BuiltInName::textureSize_00X00D)
                     {
@@ -29890,7 +29870,7 @@
                     }
                     break;
                 }
-                case 0x0000047du:
+                case 0x00000480u:
                 {
                     if (name == BuiltInName::clamp_30D00D00D)
                     {
@@ -29898,7 +29878,7 @@
                     }
                     break;
                 }
-                case 0x00000482u:
+                case 0x00000485u:
                 {
                     if (name == BuiltInName::floatBitsToInt_00B)
                     {
@@ -29906,7 +29886,7 @@
                     }
                     break;
                 }
-                case 0x00000485u:
+                case 0x00000488u:
                 {
                     if (name == BuiltInName::floatBitsToUint_00B)
                     {
@@ -29914,7 +29894,7 @@
                     }
                     break;
                 }
-                case 0x00000498u:
+                case 0x0000049bu:
                 {
                     if (name == BuiltInName::modf_00B00B)
                     {
@@ -29922,7 +29902,7 @@
                     }
                     break;
                 }
-                case 0x000004a1u:
+                case 0x000004a4u:
                 {
                     if (name == BuiltInName::determinant_A0B)
                     {
@@ -29930,7 +29910,7 @@
                     }
                     break;
                 }
-                case 0x000004a7u:
+                case 0x000004aau:
                 {
                     if (name == BuiltInName::isnan_30B)
                     {
@@ -29938,7 +29918,7 @@
                     }
                     break;
                 }
-                case 0x000004aeu:
+                case 0x000004b1u:
                 {
                     if (name == BuiltInName::textureGrad_00I10B10B10B)
                     {
@@ -29946,7 +29926,7 @@
                     }
                     break;
                 }
-                case 0x000004b2u:
+                case 0x000004b5u:
                 {
                     if (name == BuiltInName::yuv_2_rgb_20B00H && mResources.EXT_YUV_target)
                     {
@@ -29954,7 +29934,7 @@
                     }
                     break;
                 }
-                case 0x000004b3u:
+                case 0x000004b6u:
                 {
                     if (name == BuiltInName::texelFetchExt_00b10D00D &&
                         mResources.ANGLE_texture_multisample)
@@ -29963,7 +29943,7 @@
                     }
                     break;
                 }
-                case 0x000004bdu:
+                case 0x000004c0u:
                 {
                     if (name == BuiltInName::min_10D10D)
                     {
@@ -29971,7 +29951,7 @@
                     }
                     break;
                 }
-                case 0x000004d2u:
+                case 0x000004d5u:
                 {
                     if (name == BuiltInName::textureLodOffset_00I10B00B10D)
                     {
@@ -29979,7 +29959,7 @@
                     }
                     break;
                 }
-                case 0x000004d6u:
+                case 0x000004d9u:
                 {
                     if (name == BuiltInName::textureOffset_00U20B10D)
                     {
@@ -29987,7 +29967,7 @@
                     }
                     break;
                 }
-                case 0x000004e0u:
+                case 0x000004e3u:
                 {
                     if (name == BuiltInName::unpackUnorm2x16_00E)
                     {
@@ -29995,7 +29975,7 @@
                     }
                     break;
                 }
-                case 0x000004e3u:
+                case 0x000004e6u:
                 {
                     if (name == BuiltInName::textureGrad_00L20B10B10B)
                     {
@@ -30003,7 +29983,7 @@
                     }
                     break;
                 }
-                case 0x000004eau:
+                case 0x000004edu:
                 {
                     if (name == BuiltInName::texelFetchExt_00P10D00D &&
                         mResources.ANGLE_texture_multisample)
@@ -30012,7 +29992,7 @@
                     }
                     break;
                 }
-                case 0x000004ebu:
+                case 0x000004eeu:
                 {
                     if (name == BuiltInName::texture_00O10B && mResources.ARB_texture_rectangle)
                     {
@@ -30020,7 +30000,7 @@
                     }
                     break;
                 }
-                case 0x000004eeu:
+                case 0x000004f1u:
                 {
                     if (name == BuiltInName::notEqual_30E30E)
                     {
@@ -30028,7 +30008,7 @@
                     }
                     break;
                 }
-                case 0x00000507u:
+                case 0x0000050au:
                 {
                     if (name == BuiltInName::floatBitsToUint_10B)
                     {
@@ -30036,7 +30016,7 @@
                     }
                     break;
                 }
-                case 0x00000508u:
+                case 0x0000050bu:
                 {
                     if (name == BuiltInName::textureLod_00J20B00B)
                     {
@@ -30044,7 +30024,7 @@
                     }
                     break;
                 }
-                case 0x0000050du:
+                case 0x00000510u:
                 {
                     if (name == BuiltInName::textureSize_00I00D)
                     {
@@ -30052,7 +30032,7 @@
                     }
                     break;
                 }
-                case 0x0000050fu:
+                case 0x00000512u:
                 {
                     if (name == BuiltInName::texelFetchOffset_00R10D00D10D)
                     {
@@ -30060,7 +30040,7 @@
                     }
                     break;
                 }
-                case 0x00000514u:
+                case 0x00000517u:
                 {
                     if (name == BuiltInName::textureLodOffset_00X10B00B10D)
                     {
@@ -30068,7 +30048,7 @@
                     }
                     break;
                 }
-                case 0x0000051fu:
+                case 0x00000522u:
                 {
                     if (name == BuiltInName::textureProjLod_00R20B00B)
                     {
@@ -30076,7 +30056,7 @@
                     }
                     break;
                 }
-                case 0x00000522u:
+                case 0x00000525u:
                 {
                     if (name == BuiltInName::textureProjOffset_00I20B10D)
                     {
@@ -30084,7 +30064,7 @@
                     }
                     break;
                 }
-                case 0x00000552u:
+                case 0x00000555u:
                 {
                     if (name == BuiltInName::max_10D00D)
                     {
@@ -30092,7 +30072,7 @@
                     }
                     break;
                 }
-                case 0x00000555u:
+                case 0x00000558u:
                 {
                     if (name == BuiltInName::clamp_00D00D00D)
                     {
@@ -30100,7 +30080,7 @@
                     }
                     break;
                 }
-                case 0x0000055au:
+                case 0x0000055du:
                 {
                     if (name == BuiltInName::textureProjGradOffset_00S30B20B20B20D)
                     {
@@ -30108,7 +30088,7 @@
                     }
                     break;
                 }
-                case 0x00000563u:
+                case 0x00000566u:
                 {
                     if (name == BuiltInName::texelFetchOffset_00S20D00D20D)
                     {
@@ -30116,7 +30096,7 @@
                     }
                     break;
                 }
-                case 0x0000056cu:
+                case 0x0000056fu:
                 {
                     if (name == BuiltInName::texelFetchExt_00V10D00D &&
                         mResources.ANGLE_texture_multisample)
@@ -30125,7 +30105,7 @@
                     }
                     break;
                 }
-                case 0x00000592u:
+                case 0x00000594u:
                 {
                     if (name == BuiltInName::min_30E00E)
                     {
@@ -30133,7 +30113,7 @@
                     }
                     break;
                 }
-                case 0x00000594u:
+                case 0x00000596u:
                 {
                     if (name == BuiltInName::gl_MinProgramTexelOffset)
                     {
@@ -30141,7 +30121,7 @@
                     }
                     break;
                 }
-                case 0x000005a4u:
+                case 0x000005a6u:
                 {
                     if (name == BuiltInName::roundEven_10B)
                     {
@@ -30149,7 +30129,7 @@
                     }
                     break;
                 }
-                case 0x000005a6u:
+                case 0x000005a8u:
                 {
                     if (name == BuiltInName::atanh_30B)
                     {
@@ -30157,7 +30137,7 @@
                     }
                     break;
                 }
-                case 0x000005a7u:
+                case 0x000005a9u:
                 {
                     if (name == BuiltInName::textureLod_00K20B00B)
                     {
@@ -30165,7 +30145,7 @@
                     }
                     break;
                 }
-                case 0x000005aau:
+                case 0x000005acu:
                 {
                     if (name == BuiltInName::texelFetch_00L20D00D)
                     {
@@ -30173,7 +30153,7 @@
                     }
                     break;
                 }
-                case 0x000005afu:
+                case 0x000005b1u:
                 {
                     if (name == BuiltInName::textureSize_00U00D)
                     {
@@ -30181,7 +30161,7 @@
                     }
                     break;
                 }
-                case 0x000005bdu:
+                case 0x000005bfu:
                 {
                     if (name == BuiltInName::mix_10B10B10F)
                     {
@@ -30189,7 +30169,7 @@
                     }
                     break;
                 }
-                case 0x000005c7u:
+                case 0x000005c9u:
                 {
                     if (name == BuiltInName::notEqual_20E20E)
                     {
@@ -30197,7 +30177,7 @@
                     }
                     break;
                 }
-                case 0x000005c8u:
+                case 0x000005cau:
                 {
                     if (name == BuiltInName::textureLodOffset_00d20B00B10D)
                     {
@@ -30205,7 +30185,7 @@
                     }
                     break;
                 }
-                case 0x000005c9u:
+                case 0x000005cbu:
                 {
                     if (name == BuiltInName::inverse_A0B)
                     {
@@ -30213,7 +30193,7 @@
                     }
                     break;
                 }
-                case 0x000005cau:
+                case 0x000005ccu:
                 {
                     if (name == BuiltInName::textureProjGrad_00X20B10B10B)
                     {
@@ -30221,7 +30201,7 @@
                     }
                     break;
                 }
-                case 0x000005ccu:
+                case 0x000005ceu:
                 {
                     if (name == BuiltInName::textureSize_00Y00D)
                     {
@@ -30229,7 +30209,7 @@
                     }
                     break;
                 }
-                case 0x000005efu:
+                case 0x000005f1u:
                 {
                     if (name == BuiltInName::textureSize_00N00D && mResources.EXT_YUV_target)
                     {
@@ -30237,7 +30217,7 @@
                     }
                     break;
                 }
-                case 0x000005f7u:
+                case 0x000005f9u:
                 {
                     if (name == BuiltInName::textureGradOffset_00f30B10B10B10D)
                     {
@@ -30245,7 +30225,7 @@
                     }
                     break;
                 }
-                case 0x000005f8u:
+                case 0x000005fau:
                 {
                     if (name == BuiltInName::max_20D20D)
                     {
@@ -30253,7 +30233,7 @@
                     }
                     break;
                 }
-                case 0x000005f9u:
+                case 0x000005fbu:
                 {
                     if (name == BuiltInName::max_10D10D)
                     {
@@ -30261,7 +30241,7 @@
                     }
                     break;
                 }
-                case 0x00000608u:
+                case 0x0000060au:
                 {
                     if (name == BuiltInName::textureGradOffset_00Y20B20B20B20D)
                     {
@@ -30269,7 +30249,7 @@
                     }
                     break;
                 }
-                case 0x0000060bu:
+                case 0x0000060du:
                 {
                     if (name == BuiltInName::textureGrad_00f30B10B10B)
                     {
@@ -30277,7 +30257,7 @@
                     }
                     break;
                 }
-                case 0x0000060eu:
+                case 0x00000610u:
                 {
                     if (name == BuiltInName::modf_20B20B)
                     {
@@ -30285,7 +30265,7 @@
                     }
                     break;
                 }
-                case 0x00000621u:
+                case 0x00000623u:
                 {
                     if (name == BuiltInName::textureProjLod_00X30B00B)
                     {
@@ -30293,7 +30273,7 @@
                     }
                     break;
                 }
-                case 0x00000622u:
+                case 0x00000624u:
                 {
                     if (name == BuiltInName::textureProjGradOffset_00I30B10B10B10D)
                     {
@@ -30301,7 +30281,7 @@
                     }
                     break;
                 }
-                case 0x00000623u:
+                case 0x00000625u:
                 {
                     if (name == BuiltInName::cosh_30B)
                     {
@@ -30309,7 +30289,7 @@
                     }
                     break;
                 }
-                case 0x00000631u:
+                case 0x00000633u:
                 {
                     if (name == BuiltInName::matrixCompMult_B0BB0B)
                     {
@@ -30317,7 +30297,7 @@
                     }
                     break;
                 }
-                case 0x0000063fu:
+                case 0x00000641u:
                 {
                     if (name == BuiltInName::lessThan_20E20E)
                     {
@@ -30325,7 +30305,7 @@
                     }
                     break;
                 }
-                case 0x00000640u:
+                case 0x00000642u:
                 {
                     if (name == BuiltInName::textureLod_00X10B00B)
                     {
@@ -30333,7 +30313,7 @@
                     }
                     break;
                 }
-                case 0x00000643u:
+                case 0x00000645u:
                 {
                     if (name == BuiltInName::cosh_00B)
                     {
@@ -30341,7 +30321,7 @@
                     }
                     break;
                 }
-                case 0x00000647u:
+                case 0x00000649u:
                 {
                     if (name == BuiltInName::textureLod_00Z20B00B)
                     {
@@ -30349,7 +30329,7 @@
                     }
                     break;
                 }
-                case 0x00000648u:
+                case 0x0000064au:
                 {
                     if (name == BuiltInName::sign_00D)
                     {
@@ -30357,7 +30337,7 @@
                     }
                     break;
                 }
-                case 0x00000649u:
+                case 0x0000064bu:
                 {
                     if (name == BuiltInName::textureOffset_00Y20B20D)
                     {
@@ -30365,7 +30345,7 @@
                     }
                     break;
                 }
-                case 0x0000064au:
+                case 0x0000064cu:
                 {
                     if (name == BuiltInName::transpose_60B)
                     {
@@ -30373,7 +30353,7 @@
                     }
                     break;
                 }
-                case 0x00000654u:
+                case 0x00000656u:
                 {
                     if (name == BuiltInName::textureProjLodOffset_00R30B00B10D)
                     {
@@ -30381,7 +30361,7 @@
                     }
                     break;
                 }
-                case 0x00000663u:
+                case 0x00000665u:
                 {
                     if (name == BuiltInName::roundEven_00B)
                     {
@@ -30389,7 +30369,7 @@
                     }
                     break;
                 }
-                case 0x00000665u:
+                case 0x00000667u:
                 {
                     if (name == BuiltInName::atanh_20B)
                     {
@@ -30397,7 +30377,7 @@
                     }
                     break;
                 }
-                case 0x00000666u:
+                case 0x00000668u:
                 {
                     if (name == BuiltInName::clamp_10E00E00E)
                     {
@@ -30405,7 +30385,7 @@
                     }
                     break;
                 }
-                case 0x0000066au:
+                case 0x0000066cu:
                 {
                     if (name == BuiltInName::textureProjOffset_00X30B10D)
                     {
@@ -30413,7 +30393,7 @@
                     }
                     break;
                 }
-                case 0x00000676u:
+                case 0x00000678u:
                 {
                     if (name == BuiltInName::clamp_30D30D30D)
                     {
@@ -30421,7 +30401,7 @@
                     }
                     break;
                 }
-                case 0x0000067eu:
+                case 0x00000680u:
                 {
                     if (name == BuiltInName::determinant_F0B)
                     {
@@ -30429,7 +30409,7 @@
                     }
                     break;
                 }
-                case 0x0000067fu:
+                case 0x00000681u:
                 {
                     if (name == BuiltInName::transpose_A0B)
                     {
@@ -30437,7 +30417,7 @@
                     }
                     break;
                 }
-                case 0x00000695u:
+                case 0x00000697u:
                 {
                     if (name == BuiltInName::textureProjLodOffset_00d30B00B10D)
                     {
@@ -30445,7 +30425,7 @@
                     }
                     break;
                 }
-                case 0x00000698u:
+                case 0x0000069au:
                 {
                     if (name == BuiltInName::textureProjLodOffset_00I30B00B10D)
                     {
@@ -30453,7 +30433,7 @@
                     }
                     break;
                 }
-                case 0x000006a1u:
+                case 0x000006a3u:
                 {
                     if (name == BuiltInName::texture_00J20B)
                     {
@@ -30461,7 +30441,7 @@
                     }
                     break;
                 }
-                case 0x000006a5u:
+                case 0x000006a7u:
                 {
                     if (name == BuiltInName::textureSize_00d00D)
                     {
@@ -30469,7 +30449,7 @@
                     }
                     break;
                 }
-                case 0x000006b7u:
+                case 0x000006b9u:
                 {
                     if (name == BuiltInName::equal_10E10E)
                     {
@@ -30477,7 +30457,7 @@
                     }
                     break;
                 }
-                case 0x000006bcu:
+                case 0x000006beu:
                 {
                     if (name == BuiltInName::textureProjOffset_00J30B20D)
                     {
@@ -30485,7 +30465,7 @@
                     }
                     break;
                 }
-                case 0x000006c0u:
+                case 0x000006c2u:
                 {
                     if (name == BuiltInName::notEqual_10E10E)
                     {
@@ -30493,7 +30473,7 @@
                     }
                     break;
                 }
-                case 0x000006cfu:
+                case 0x000006d1u:
                 {
                     if (name == BuiltInName::textureLodOffset_00R10B00B10D)
                     {
@@ -30501,7 +30481,7 @@
                     }
                     break;
                 }
-                case 0x000006d0u:
+                case 0x000006d2u:
                 {
                     if (name == BuiltInName::trunc_10B)
                     {
@@ -30509,7 +30489,7 @@
                     }
                     break;
                 }
-                case 0x000006ddu:
+                case 0x000006dfu:
                 {
                     if (name == BuiltInName::max_00E00E)
                     {
@@ -30517,7 +30497,7 @@
                     }
                     break;
                 }
-                case 0x000006fbu:
+                case 0x000006fcu:
                 {
                     if (name == BuiltInName::textureProjGrad_00I30B10B10B)
                     {
@@ -30525,7 +30505,7 @@
                     }
                     break;
                 }
-                case 0x000006fdu:
+                case 0x000006feu:
                 {
                     if (name == BuiltInName::textureOffset_00d20B10D)
                     {
@@ -30533,7 +30513,7 @@
                     }
                     break;
                 }
-                case 0x00000703u:
+                case 0x00000704u:
                 {
                     if (name == BuiltInName::min_20E20E)
                     {
@@ -30541,7 +30521,7 @@
                     }
                     break;
                 }
-                case 0x0000070du:
+                case 0x0000070eu:
                 {
                     if (name == BuiltInName::lessThan_30E30E)
                     {
@@ -30549,7 +30529,7 @@
                     }
                     break;
                 }
-                case 0x0000070fu:
+                case 0x00000710u:
                 {
                     if (name == BuiltInName::transpose_70B)
                     {
@@ -30557,7 +30537,7 @@
                     }
                     break;
                 }
-                case 0x00000716u:
+                case 0x00000717u:
                 {
                     if (name == BuiltInName::textureLod_00Y20B00B)
                     {
@@ -30565,7 +30545,7 @@
                     }
                     break;
                 }
-                case 0x00000719u:
+                case 0x0000071au:
                 {
                     if (name == BuiltInName::min_20D00D)
                     {
@@ -30573,7 +30553,7 @@
                     }
                     break;
                 }
-                case 0x0000071bu:
+                case 0x0000071cu:
                 {
                     if (name == BuiltInName::uintBitsToFloat_00E)
                     {
@@ -30581,7 +30561,7 @@
                     }
                     break;
                 }
-                case 0x00000724u:
+                case 0x00000725u:
                 {
                     if (name == BuiltInName::tanh_00B)
                     {
@@ -30589,7 +30569,7 @@
                     }
                     break;
                 }
-                case 0x00000727u:
+                case 0x00000728u:
                 {
                     if (name == BuiltInName::matrixCompMult_D0BD0B)
                     {
@@ -30597,7 +30577,7 @@
                     }
                     break;
                 }
-                case 0x00000738u:
+                case 0x00000739u:
                 {
                     if (name == BuiltInName::textureGrad_00d20B10B10B)
                     {
@@ -30605,7 +30585,7 @@
                     }
                     break;
                 }
-                case 0x00000740u:
+                case 0x00000741u:
                 {
                     if (name == BuiltInName::textureProjLod_00I20B00B)
                     {
@@ -30613,7 +30593,7 @@
                     }
                     break;
                 }
-                case 0x00000741u:
+                case 0x00000742u:
                 {
                     if (name == BuiltInName::rgb_2_yuv_20B00H && mResources.EXT_YUV_target)
                     {
@@ -30621,7 +30601,7 @@
                     }
                     break;
                 }
-                case 0x00000744u:
+                case 0x00000745u:
                 {
                     if (name == BuiltInName::texture_00T20B)
                     {
@@ -30629,7 +30609,7 @@
                     }
                     break;
                 }
-                case 0x00000750u:
+                case 0x00000751u:
                 {
                     if (name == BuiltInName::clamp_10D10D10D)
                     {
@@ -30637,7 +30617,7 @@
                     }
                     break;
                 }
-                case 0x00000751u:
+                case 0x00000752u:
                 {
                     if (name == BuiltInName::texelFetch_00M10D00D &&
                         mResources.OES_EGL_image_external_essl3)
@@ -30646,7 +30626,7 @@
                     }
                     break;
                 }
-                case 0x00000753u:
+                case 0x00000754u:
                 {
                     if (name == BuiltInName::transpose_F0B)
                     {
@@ -30654,7 +30634,7 @@
                     }
                     break;
                 }
-                case 0x00000755u:
+                case 0x00000756u:
                 {
                     if (name == BuiltInName::textureGradOffset_00S20B20B20B20D)
                     {
@@ -30662,7 +30642,7 @@
                     }
                     break;
                 }
-                case 0x00000757u:
+                case 0x00000758u:
                 {
                     if (name == BuiltInName::clamp_30E30E30E)
                     {
@@ -30670,7 +30650,7 @@
                     }
                     break;
                 }
-                case 0x00000758u:
+                case 0x00000759u:
                 {
                     if (name == BuiltInName::textureSize_00R00D)
                     {
@@ -30678,7 +30658,7 @@
                     }
                     break;
                 }
-                case 0x0000075au:
+                case 0x0000075bu:
                 {
                     if (name == BuiltInName::acosh_10B)
                     {
@@ -30686,7 +30666,7 @@
                     }
                     break;
                 }
-                case 0x00000763u:
+                case 0x00000764u:
                 {
                     if (name == BuiltInName::textureProjLod_00J30B00B)
                     {
@@ -30694,7 +30674,7 @@
                     }
                     break;
                 }
-                case 0x00000766u:
+                case 0x00000767u:
                 {
                     if (name == BuiltInName::transpose_90B)
                     {
@@ -30702,7 +30682,7 @@
                     }
                     break;
                 }
-                case 0x0000076bu:
+                case 0x0000076cu:
                 {
                     if (name == BuiltInName::max_20D00D)
                     {
@@ -30710,7 +30690,7 @@
                     }
                     break;
                 }
-                case 0x0000076cu:
+                case 0x0000076du:
                 {
                     if (name == BuiltInName::texelFetchOffset_00I10D00D10D)
                     {
@@ -30718,7 +30698,7 @@
                     }
                     break;
                 }
-                case 0x00000782u:
+                case 0x00000783u:
                 {
                     if (name == BuiltInName::trunc_00B)
                     {
@@ -30726,7 +30706,7 @@
                     }
                     break;
                 }
-                case 0x0000078cu:
+                case 0x0000078du:
                 {
                     if (name == BuiltInName::textureLod_00T20B00B)
                     {
@@ -30734,7 +30714,7 @@
                     }
                     break;
                 }
-                case 0x0000078du:
+                case 0x0000078eu:
                 {
                     if (name == BuiltInName::textureProjGrad_00R30B10B10B)
                     {
@@ -30742,7 +30722,7 @@
                     }
                     break;
                 }
-                case 0x00000790u:
+                case 0x00000791u:
                 {
                     if (name == BuiltInName::textureProjGradOffset_00X30B10B10B10D)
                     {
@@ -30750,7 +30730,7 @@
                     }
                     break;
                 }
-                case 0x00000793u:
+                case 0x00000794u:
                 {
                     if (name == BuiltInName::textureGrad_00S20B20B20B)
                     {
@@ -30758,7 +30738,7 @@
                     }
                     break;
                 }
-                case 0x000007a1u:
+                case 0x000007a2u:
                 {
                     if (name == BuiltInName::texture_00L20B)
                     {
@@ -30766,7 +30746,7 @@
                     }
                     break;
                 }
-                case 0x000007b5u:
+                case 0x000007b6u:
                 {
                     if (name == BuiltInName::isnan_20B)
                     {
@@ -30774,7 +30754,7 @@
                     }
                     break;
                 }
-                case 0x000007bbu:
+                case 0x000007bcu:
                 {
                     if (name == BuiltInName::max_30E00E)
                     {
@@ -30782,7 +30762,7 @@
                     }
                     break;
                 }
-                case 0x000007bcu:
+                case 0x000007bdu:
                 {
                     if (name == BuiltInName::textureLod_00d20B00B)
                     {
@@ -30790,7 +30770,7 @@
                     }
                     break;
                 }
-                case 0x000007c5u:
+                case 0x000007c6u:
                 {
                     if (name == BuiltInName::uintBitsToFloat_10E)
                     {
@@ -30798,7 +30778,7 @@
                     }
                     break;
                 }
-                case 0x000007c7u:
+                case 0x000007c8u:
                 {
                     if (name == BuiltInName::matrixCompMult_70B70B)
                     {
@@ -30806,7 +30786,7 @@
                     }
                     break;
                 }
-                case 0x000007cdu:
+                case 0x000007ceu:
                 {
                     if (name == BuiltInName::textureLodOffset_00Y20B00B20D)
                     {
@@ -30814,7 +30794,7 @@
                     }
                     break;
                 }
-                case 0x000007d1u:
+                case 0x000007d2u:
                 {
                     if (name == BuiltInName::tanh_10B)
                     {
@@ -30822,7 +30802,7 @@
                     }
                     break;
                 }
-                case 0x000007deu:
+                case 0x000007dfu:
                 {
                     if (name == BuiltInName::outerProduct_20B10B)
                     {
@@ -30830,7 +30810,7 @@
                     }
                     break;
                 }
-                case 0x000007e1u:
+                case 0x000007e2u:
                 {
                     if (name == BuiltInName::textureGrad_00e30B20B20B)
                     {
@@ -30838,7 +30818,7 @@
                     }
                     break;
                 }
-                case 0x000007e2u:
+                case 0x000007e3u:
                 {
                     if (name == BuiltInName::textureSize_00J00D)
                     {
@@ -30846,7 +30826,7 @@
                     }
                     break;
                 }
-                case 0x000007edu:
+                case 0x000007eeu:
                 {
                     if (name == BuiltInName::textureGrad_00K20B20B20B)
                     {
@@ -30854,7 +30834,7 @@
                     }
                     break;
                 }
-                case 0x000007f5u:
+                case 0x000007f6u:
                 {
                     if (name == BuiltInName::textureGrad_00J20B20B20B)
                     {
@@ -30862,7 +30842,7 @@
                     }
                     break;
                 }
-                case 0x000007f9u:
+                case 0x000007fau:
                 {
                     if (name == BuiltInName::intBitsToFloat_10D)
                     {
@@ -30870,7 +30850,7 @@
                     }
                     break;
                 }
-                case 0x000007fdu:
+                case 0x000007feu:
                 {
                     if (name == BuiltInName::textureProjLodOffset_00Y30B00B20D)
                     {
@@ -30878,7 +30858,7 @@
                     }
                     break;
                 }
-                case 0x0000080du:
+                case 0x0000080eu:
                 {
                     if (name == BuiltInName::textureOffset_00a20B10D)
                     {
@@ -30886,7 +30866,7 @@
                     }
                     break;
                 }
-                case 0x00000810u:
+                case 0x00000811u:
                 {
                     if (name == BuiltInName::min_30E30E)
                     {
@@ -30894,7 +30874,7 @@
                     }
                     break;
                 }
-                case 0x00000826u:
+                case 0x00000827u:
                 {
                     if (name == BuiltInName::matrixCompMult_60B60B)
                     {
@@ -30902,7 +30882,7 @@
                     }
                     break;
                 }
-                case 0x0000082au:
+                case 0x0000082bu:
                 {
                     if (name == BuiltInName::unpackSnorm2x16_00E)
                     {
@@ -30910,7 +30890,7 @@
                     }
                     break;
                 }
-                case 0x00000831u:
+                case 0x00000832u:
                 {
                     if (name == BuiltInName::trunc_30B)
                     {
@@ -30918,7 +30898,7 @@
                     }
                     break;
                 }
-                case 0x0000083du:
+                case 0x0000083eu:
                 {
                     if (name == BuiltInName::min_20E00E)
                     {
@@ -30926,7 +30906,7 @@
                     }
                     break;
                 }
-                case 0x00000844u:
+                case 0x00000845u:
                 {
                     if (name == BuiltInName::textureSizeExt_00b &&
                         mResources.ANGLE_texture_multisample)
@@ -30935,7 +30915,7 @@
                     }
                     break;
                 }
-                case 0x0000084cu:
+                case 0x0000084du:
                 {
                     if (name == BuiltInName::gl_MaxProgramTexelOffset)
                     {
@@ -30943,15 +30923,16 @@
                     }
                     break;
                 }
-                case 0x00000853u:
+                case 0x00000854u:
                 {
-                    if (name == BuiltInName::round_20B)
+                    if (name == BuiltInName::textureSizeExt_00P &&
+                        mResources.ANGLE_texture_multisample)
                     {
-                        return &BuiltInFunction::function_round_20B;
+                        return &BuiltInFunction::function_textureSizeExt_00P;
                     }
                     break;
                 }
-                case 0x00000857u:
+                case 0x00000858u:
                 {
                     if (name == BuiltInName::textureProjLod_00X20B00B)
                     {
@@ -31239,6 +31220,14 @@
                     }
                     break;
                 }
+                case 0x0000090bu:
+                {
+                    if (name == BuiltInName::textureProjOffset_00X20B10D)
+                    {
+                        return &BuiltInFunction::function_textureProjOffset_00X20B10D;
+                    }
+                    break;
+                }
                 case 0x0000090eu:
                 {
                     if (name == BuiltInName::min_30D00D)
@@ -31428,7 +31417,7 @@
                         }
                         break;
                     }
-                    case 0x0000035bu:
+                    case 0x0000035cu:
                     {
                         if (name == BuiltInName::texture_00J20B00B)
                         {
@@ -31436,7 +31425,7 @@
                         }
                         break;
                     }
-                    case 0x000003c2u:
+                    case 0x000003c4u:
                     {
                         if (name == BuiltInName::textureProj_00I30B00B)
                         {
@@ -31444,7 +31433,7 @@
                         }
                         break;
                     }
-                    case 0x000003e8u:
+                    case 0x000003eau:
                     {
                         if (name == BuiltInName::textureProj_00X20B00B)
                         {
@@ -31452,7 +31441,7 @@
                         }
                         break;
                     }
-                    case 0x0000041eu:
+                    case 0x00000420u:
                     {
                         if (name == BuiltInName::gl_FragDepth)
                         {
@@ -31460,7 +31449,7 @@
                         }
                         break;
                     }
-                    case 0x00000480u:
+                    case 0x00000483u:
                     {
                         if (name == BuiltInName::textureProjOffset_00R30B10D00B)
                         {
@@ -31468,7 +31457,7 @@
                         }
                         break;
                     }
-                    case 0x00000497u:
+                    case 0x0000049au:
                     {
                         if (name == BuiltInName::texture_00R10B00B)
                         {
@@ -31476,7 +31465,7 @@
                         }
                         break;
                     }
-                    case 0x000004aau:
+                    case 0x000004adu:
                     {
                         if (name == BuiltInName::textureProj_00M30B00B &&
                             mResources.OES_EGL_image_external_essl3)
@@ -31485,7 +31474,7 @@
                         }
                         break;
                     }
-                    case 0x000004b4u:
+                    case 0x000004b7u:
                     {
                         if (name == BuiltInName::textureProj_00J30B00B)
                         {
@@ -31493,7 +31482,7 @@
                         }
                         break;
                     }
-                    case 0x00000515u:
+                    case 0x00000518u:
                     {
                         if (name == BuiltInName::texture_00T20B00B)
                         {
@@ -31501,7 +31490,7 @@
                         }
                         break;
                     }
-                    case 0x0000051eu:
+                    case 0x00000521u:
                     {
                         if (name == BuiltInName::fwidth_10B)
                         {
@@ -31509,7 +31498,7 @@
                         }
                         break;
                     }
-                    case 0x0000058bu:
+                    case 0x0000058eu:
                     {
                         if (name == BuiltInName::dFdx_10B)
                         {
@@ -31517,7 +31506,7 @@
                         }
                         break;
                     }
-                    case 0x000005c0u:
+                    case 0x000005c2u:
                     {
                         if (name == BuiltInName::textureProj_00Y30B00B)
                         {
@@ -31525,7 +31514,7 @@
                         }
                         break;
                     }
-                    case 0x00000603u:
+                    case 0x00000605u:
                     {
                         if (name == BuiltInName::texture_00d20B00B)
                         {
@@ -31533,7 +31522,7 @@
                         }
                         break;
                     }
-                    case 0x00000625u:
+                    case 0x00000627u:
                     {
                         if (name == BuiltInName::textureOffset_00S20B20D00B)
                         {
@@ -31541,7 +31530,7 @@
                         }
                         break;
                     }
-                    case 0x00000627u:
+                    case 0x00000629u:
                     {
                         if (name == BuiltInName::textureProjOffset_00R20B10D00B)
                         {
@@ -31549,7 +31538,7 @@
                         }
                         break;
                     }
-                    case 0x00000637u:
+                    case 0x00000639u:
                     {
                         if (name == BuiltInName::dFdx_00B)
                         {
@@ -31557,7 +31546,7 @@
                         }
                         break;
                     }
-                    case 0x00000639u:
+                    case 0x0000063bu:
                     {
                         if (name == BuiltInName::textureProj_00R20B00B)
                         {
@@ -31565,7 +31554,7 @@
                         }
                         break;
                     }
-                    case 0x00000690u:
+                    case 0x00000692u:
                     {
                         if (name == BuiltInName::textureProjOffset_00I20B10D00B)
                         {
@@ -31573,7 +31562,7 @@
                         }
                         break;
                     }
-                    case 0x000006d6u:
+                    case 0x000006d8u:
                     {
                         if (name == BuiltInName::textureProj_00I20B00B)
                         {
@@ -31581,7 +31570,7 @@
                         }
                         break;
                     }
-                    case 0x000006dbu:
+                    case 0x000006ddu:
                     {
                         if (name == BuiltInName::textureProj_00d30B00B)
                         {
@@ -31589,7 +31578,7 @@
                         }
                         break;
                     }
-                    case 0x000006deu:
+                    case 0x000006e0u:
                     {
                         if (name == BuiltInName::texture_00a20B00B)
                         {
@@ -31597,7 +31586,7 @@
                         }
                         break;
                     }
-                    case 0x000006e5u:
+                    case 0x000006e7u:
                     {
                         if (name == BuiltInName::textureProj_00M20B00B &&
                             mResources.OES_EGL_image_external_essl3)
@@ -31606,7 +31595,7 @@
                         }
                         break;
                     }
-                    case 0x000006e7u:
+                    case 0x000006e9u:
                     {
                         if (name == BuiltInName::textureProjOffset_00X30B10D00B)
                         {
@@ -31614,7 +31603,7 @@
                         }
                         break;
                     }
-                    case 0x000006f6u:
+                    case 0x000006f7u:
                     {
                         if (name == BuiltInName::texture_00N10B00B && mResources.EXT_YUV_target)
                         {
@@ -31622,7 +31611,7 @@
                         }
                         break;
                     }
-                    case 0x000006feu:
+                    case 0x000006ffu:
                     {
                         if (name == BuiltInName::dFdx_30B)
                         {
@@ -31630,7 +31619,7 @@
                         }
                         break;
                     }
-                    case 0x00000709u:
+                    case 0x0000070au:
                     {
                         if (name == BuiltInName::dFdy_00B)
                         {
@@ -31638,7 +31627,7 @@
                         }
                         break;
                     }
-                    case 0x00000715u:
+                    case 0x00000716u:
                     {
                         if (name == BuiltInName::texture_00S20B00B)
                         {
@@ -31646,7 +31635,7 @@
                         }
                         break;
                     }
-                    case 0x00000754u:
+                    case 0x00000755u:
                     {
                         if (name == BuiltInName::textureOffset_00Y20B20D00B)
                         {
@@ -31654,7 +31643,7 @@
                         }
                         break;
                     }
-                    case 0x00000760u:
+                    case 0x00000761u:
                     {
                         if (name == BuiltInName::textureOffset_00L20B10D00B)
                         {
@@ -31662,7 +31651,7 @@
                         }
                         break;
                     }
-                    case 0x0000078fu:
+                    case 0x00000790u:
                     {
                         if (name == BuiltInName::textureProjOffset_00X20B10D00B)
                         {
@@ -31670,7 +31659,7 @@
                         }
                         break;
                     }
-                    case 0x0000079fu:
+                    case 0x000007a0u:
                     {
                         if (name == BuiltInName::dFdx_20B)
                         {
@@ -31678,7 +31667,7 @@
                         }
                         break;
                     }
-                    case 0x000007abu:
+                    case 0x000007acu:
                     {
                         if (name == BuiltInName::textureProjOffset_00S30B20D00B)
                         {
@@ -31686,7 +31675,7 @@
                         }
                         break;
                     }
-                    case 0x000007b7u:
+                    case 0x000007b8u:
                     {
                         if (name == BuiltInName::fwidth_00B)
                         {
@@ -31694,7 +31683,7 @@
                         }
                         break;
                     }
-                    case 0x000007b8u:
+                    case 0x000007b9u:
                     {
                         if (name == BuiltInName::dFdy_10B)
                         {
@@ -31702,7 +31691,7 @@
                         }
                         break;
                     }
-                    case 0x000007f2u:
+                    case 0x000007f3u:
                     {
                         if (name == BuiltInName::texture_00K20B00B)
                         {
@@ -31710,7 +31699,7 @@
                         }
                         break;
                     }
-                    case 0x000007f7u:
+                    case 0x000007f8u:
                     {
                         if (name == BuiltInName::textureOffset_00U20B10D00B)
                         {
@@ -31718,7 +31707,7 @@
                         }
                         break;
                     }
-                    case 0x00000837u:
+                    case 0x00000838u:
                     {
                         if (name == BuiltInName::textureProj_00X30B00B)
                         {
@@ -31789,7 +31778,7 @@
                         }
                         break;
                     }
-                    case 0x000005b6u:
+                    case 0x000005b8u:
                     {
                         if (name == BuiltInName::gl_VertexID)
                         {
@@ -31799,20 +31788,6 @@
                     }
                 }
             }
-            if ((mShaderType == GL_VERTEX_SHADER) && (mResources.ANGLE_multi_draw))
-            {
-                switch (nameHash)
-                {
-                    case 0x00000492u:
-                    {
-                        if (name == BuiltInName::gl_DrawID)
-                        {
-                            return &BuiltInVariable::kVar_gl_DrawID;
-                        }
-                        break;
-                    }
-                }
-            }
             if ((mShaderType == GL_VERTEX_SHADER) && (mResources.ANGLE_base_vertex_base_instance))
             {
                 switch (nameHash)
@@ -31915,7 +31890,7 @@
                     }
                     break;
                 }
-                case 0x000003a7u:
+                case 0x000003a9u:
                 {
                     if (name == BuiltInName::texture2DProj_00I30B)
                     {
@@ -31923,7 +31898,7 @@
                     }
                     break;
                 }
-                case 0x000003deu:
+                case 0x000003e0u:
                 {
                     if (name == BuiltInName::texture2DProj_00M20B)
                     {
@@ -31931,7 +31906,7 @@
                     }
                     break;
                 }
-                case 0x00000418u:
+                case 0x0000041au:
                 {
                     if (name == BuiltInName::texture2DProjGradEXT_00I20B10B10B &&
                         mResources.EXT_shader_texture_lod)
@@ -31940,7 +31915,7 @@
                     }
                     break;
                 }
-                case 0x0000048au:
+                case 0x0000048du:
                 {
                     if (name == BuiltInName::texture2DRectProj_00O20B &&
                         mResources.ARB_texture_rectangle)
@@ -31949,7 +31924,7 @@
                     }
                     break;
                 }
-                case 0x000004abu:
+                case 0x000004aeu:
                 {
                     if (name == BuiltInName::texture2DProj_00M30B)
                     {
@@ -31957,7 +31932,7 @@
                     }
                     break;
                 }
-                case 0x00000550u:
+                case 0x00000553u:
                 {
                     if (name == BuiltInName::texture2DRectProj_00O30B &&
                         mResources.ARB_texture_rectangle)
@@ -31966,7 +31941,7 @@
                     }
                     break;
                 }
-                case 0x000006a4u:
+                case 0x000006a6u:
                 {
                     if (name == BuiltInName::gl_MaxVaryingVectors)
                     {
@@ -31974,7 +31949,7 @@
                     }
                     break;
                 }
-                case 0x0000079au:
+                case 0x0000079bu:
                 {
                     if (name == BuiltInName::texture2D_00M10B)
                     {
@@ -31982,7 +31957,7 @@
                     }
                     break;
                 }
-                case 0x00000802u:
+                case 0x00000803u:
                 {
                     if (name == BuiltInName::gl_SecondaryFragDataEXT)
                     {
@@ -31992,7 +31967,7 @@
                     }
                     break;
                 }
-                case 0x00000814u:
+                case 0x00000815u:
                 {
                     if (name == BuiltInName::textureCubeGradEXT_00K20B20B20B &&
                         mResources.EXT_shader_texture_lod)
@@ -32065,7 +32040,7 @@
                         }
                         break;
                     }
-                    case 0x0000044fu:
+                    case 0x00000452u:
                     {
                         if (name == BuiltInName::textureCubeLodEXT_00K20B00B &&
                             mResources.EXT_shader_texture_lod)
@@ -32074,7 +32049,7 @@
                         }
                         break;
                     }
-                    case 0x00000494u:
+                    case 0x00000497u:
                     {
                         if (name == BuiltInName::texture3DLod_00J20B00B &&
                             mResources.OES_texture_3D)
@@ -32083,7 +32058,7 @@
                         }
                         break;
                     }
-                    case 0x000004dbu:
+                    case 0x000004deu:
                     {
                         if (name == BuiltInName::gl_FragColor)
                         {
@@ -32091,7 +32066,7 @@
                         }
                         break;
                     }
-                    case 0x0000051eu:
+                    case 0x00000521u:
                     {
                         if (name == BuiltInName::fwidthExt_10B &&
                             mResources.OES_standard_derivatives)
@@ -32100,7 +32075,7 @@
                         }
                         break;
                     }
-                    case 0x00000541u:
+                    case 0x00000544u:
                     {
                         if (name == BuiltInName::texture3D_00J20B00B && mResources.OES_texture_3D)
                         {
@@ -32108,7 +32083,7 @@
                         }
                         break;
                     }
-                    case 0x0000058bu:
+                    case 0x0000058eu:
                     {
                         if (name == BuiltInName::dFdxExt_10B && mResources.OES_standard_derivatives)
                         {
@@ -32116,7 +32091,7 @@
                         }
                         break;
                     }
-                    case 0x0000061fu:
+                    case 0x00000621u:
                     {
                         if (name == BuiltInName::texture3DProj_00J30B00B &&
                             mResources.OES_texture_3D)
@@ -32125,7 +32100,7 @@
                         }
                         break;
                     }
-                    case 0x0000062fu:
+                    case 0x00000631u:
                     {
                         if (name == BuiltInName::texture3DProj_00J30B && mResources.OES_texture_3D)
                         {
@@ -32133,7 +32108,7 @@
                         }
                         break;
                     }
-                    case 0x00000637u:
+                    case 0x00000639u:
                     {
                         if (name == BuiltInName::dFdxExt_00B && mResources.OES_standard_derivatives)
                         {
@@ -32141,7 +32116,7 @@
                         }
                         break;
                     }
-                    case 0x000006feu:
+                    case 0x000006ffu:
                     {
                         if (name == BuiltInName::dFdxExt_30B && mResources.OES_standard_derivatives)
                         {
@@ -32149,7 +32124,7 @@
                         }
                         break;
                     }
-                    case 0x00000709u:
+                    case 0x0000070au:
                     {
                         if (name == BuiltInName::dFdyExt_00B && mResources.OES_standard_derivatives)
                         {
@@ -32157,7 +32132,7 @@
                         }
                         break;
                     }
-                    case 0x0000077du:
+                    case 0x0000077eu:
                     {
                         if (name == BuiltInName::texture2D_00I10B00B)
                         {
@@ -32165,7 +32140,7 @@
                         }
                         break;
                     }
-                    case 0x0000079fu:
+                    case 0x000007a0u:
                     {
                         if (name == BuiltInName::dFdxExt_20B && mResources.OES_standard_derivatives)
                         {
@@ -32173,7 +32148,7 @@
                         }
                         break;
                     }
-                    case 0x000007b7u:
+                    case 0x000007b8u:
                     {
                         if (name == BuiltInName::fwidthExt_00B &&
                             mResources.OES_standard_derivatives)
@@ -32182,7 +32157,7 @@
                         }
                         break;
                     }
-                    case 0x000007b8u:
+                    case 0x000007b9u:
                     {
                         if (name == BuiltInName::dFdyExt_10B && mResources.OES_standard_derivatives)
                         {
@@ -32190,7 +32165,7 @@
                         }
                         break;
                     }
-                    case 0x000007e9u:
+                    case 0x000007eau:
                     {
                         if (name == BuiltInName::texture2DProjLodEXT_00I30B00B &&
                             mResources.EXT_shader_texture_lod)
@@ -32199,7 +32174,7 @@
                         }
                         break;
                     }
-                    case 0x000007f1u:
+                    case 0x000007f2u:
                     {
                         if (name == BuiltInName::texture2DLodEXT_00I10B00B &&
                             mResources.EXT_shader_texture_lod)
@@ -32208,7 +32183,7 @@
                         }
                         break;
                     }
-                    case 0x00000801u:
+                    case 0x00000802u:
                     {
                         if (name == BuiltInName::texture3D_00J20B && mResources.OES_texture_3D)
                         {
@@ -32216,7 +32191,7 @@
                         }
                         break;
                     }
-                    case 0x00000811u:
+                    case 0x00000812u:
                     {
                         if (name == BuiltInName::texture2DProj_00I30B00B)
                         {
@@ -32256,7 +32231,7 @@
                         }
                         break;
                     }
-                    case 0x000003abu:
+                    case 0x000003adu:
                     {
                         if (name == BuiltInName::texture2DProjLod_00I30B00B)
                         {
@@ -32264,7 +32239,7 @@
                         }
                         break;
                     }
-                    case 0x000003d2u:
+                    case 0x000003d4u:
                     {
                         if (name == BuiltInName::texture2DLod_00I10B00B)
                         {
@@ -32272,7 +32247,7 @@
                         }
                         break;
                     }
-                    case 0x000004b0u:
+                    case 0x000004b3u:
                     {
                         if (name == BuiltInName::texture2DProjLod_00I20B00B)
                         {
@@ -32300,7 +32275,7 @@
             {
                 switch (nameHash)
                 {
-                    case 0x000007c1u:
+                    case 0x000007c2u:
                     {
                         if (name == BuiltInName::gl_LastFragData)
                         {
@@ -32314,7 +32289,7 @@
             {
                 switch (nameHash)
                 {
-                    case 0x00000701u:
+                    case 0x00000702u:
                     {
                         if (name == BuiltInName::gl_LastFragColor)
                         {
@@ -32322,7 +32297,7 @@
                         }
                         break;
                     }
-                    case 0x000007c1u:
+                    case 0x000007c2u:
                     {
                         if (name == BuiltInName::gl_LastFragData)
                         {
@@ -32346,20 +32321,6 @@
                     }
                 }
             }
-            if ((mShaderType == GL_VERTEX_SHADER) && (mResources.ANGLE_multi_draw))
-            {
-                switch (nameHash)
-                {
-                    case 0x00000492u:
-                    {
-                        if (name == BuiltInName::gl_DrawID)
-                        {
-                            return &BuiltInVariable::kVar_gl_DrawIDESSL1;
-                        }
-                        break;
-                    }
-                }
-            }
         }
         switch (nameHash)
         {
@@ -32675,6 +32636,14 @@
                 }
                 break;
             }
+            case 0x00000189u:
+            {
+                if (name == BuiltInName::mix_20B20B20B)
+                {
+                    return &BuiltInFunction::function_mix_20B20B20B;
+                }
+                break;
+            }
             case 0x0000018au:
             {
                 if (name == BuiltInName::any_10F)
@@ -33091,7 +33060,7 @@
                 }
                 break;
             }
-            case 0x0000034cu:
+            case 0x0000034du:
             {
                 if (name == BuiltInName::notEqual_30B30B)
                 {
@@ -33099,7 +33068,7 @@
                 }
                 break;
             }
-            case 0x0000035cu:
+            case 0x0000035du:
             {
                 if (name == BuiltInName::refract_20B20B00B)
                 {
@@ -33107,7 +33076,7 @@
                 }
                 break;
             }
-            case 0x00000360u:
+            case 0x00000361u:
             {
                 if (name == BuiltInName::log2_30B)
                 {
@@ -33115,7 +33084,7 @@
                 }
                 break;
             }
-            case 0x00000374u:
+            case 0x00000375u:
             {
                 if (name == BuiltInName::sqrt_00B)
                 {
@@ -33123,7 +33092,7 @@
                 }
                 break;
             }
-            case 0x00000394u:
+            case 0x00000395u:
             {
                 if (name == BuiltInName::pow_30B30B)
                 {
@@ -33131,7 +33100,7 @@
                 }
                 break;
             }
-            case 0x00000396u:
+            case 0x00000397u:
             {
                 if (name == BuiltInName::smoothstep_10B10B10B)
                 {
@@ -33139,7 +33108,7 @@
                 }
                 break;
             }
-            case 0x000003aau:
+            case 0x000003acu:
             {
                 if (name == BuiltInName::notEqual_20B20B)
                 {
@@ -33147,7 +33116,7 @@
                 }
                 break;
             }
-            case 0x000003b3u:
+            case 0x000003b5u:
             {
                 if (name == BuiltInName::equal_30D30D)
                 {
@@ -33155,7 +33124,7 @@
                 }
                 break;
             }
-            case 0x000003bcu:
+            case 0x000003beu:
             {
                 if (name == BuiltInName::max_30B00B)
                 {
@@ -33163,7 +33132,7 @@
                 }
                 break;
             }
-            case 0x000003bfu:
+            case 0x000003c1u:
             {
                 if (name == BuiltInName::step_30B30B)
                 {
@@ -33171,7 +33140,7 @@
                 }
                 break;
             }
-            case 0x000003cau:
+            case 0x000003ccu:
             {
                 if (name == BuiltInName::abs_00B)
                 {
@@ -33179,7 +33148,7 @@
                 }
                 break;
             }
-            case 0x000003d6u:
+            case 0x000003d8u:
             {
                 if (name == BuiltInName::step_00B30B)
                 {
@@ -33187,7 +33156,7 @@
                 }
                 break;
             }
-            case 0x000003e0u:
+            case 0x000003e2u:
             {
                 if (name == BuiltInName::notEqual_10D10D)
                 {
@@ -33195,7 +33164,7 @@
                 }
                 break;
             }
-            case 0x000003edu:
+            case 0x000003efu:
             {
                 if (name == BuiltInName::faceforward_10B10B10B)
                 {
@@ -33203,7 +33172,7 @@
                 }
                 break;
             }
-            case 0x000003f4u:
+            case 0x000003f6u:
             {
                 if (name == BuiltInName::all_20F)
                 {
@@ -33211,7 +33180,7 @@
                 }
                 break;
             }
-            case 0x00000402u:
+            case 0x00000404u:
             {
                 if (name == BuiltInName::equal_30F30F)
                 {
@@ -33219,7 +33188,7 @@
                 }
                 break;
             }
-            case 0x00000408u:
+            case 0x0000040au:
             {
                 if (name == BuiltInName::notEqual_30F30F)
                 {
@@ -33227,7 +33196,7 @@
                 }
                 break;
             }
-            case 0x00000413u:
+            case 0x00000415u:
             {
                 if (name == BuiltInName::fract_20B)
                 {
@@ -33235,7 +33204,7 @@
                 }
                 break;
             }
-            case 0x00000423u:
+            case 0x00000425u:
             {
                 if (name == BuiltInName::mix_30B30B30B)
                 {
@@ -33243,7 +33212,7 @@
                 }
                 break;
             }
-            case 0x00000427u:
+            case 0x00000429u:
             {
                 if (name == BuiltInName::sqrt_30B)
                 {
@@ -33251,7 +33220,7 @@
                 }
                 break;
             }
-            case 0x00000429u:
+            case 0x0000042bu:
             {
                 if (name == BuiltInName::exp_00B)
                 {
@@ -33259,7 +33228,7 @@
                 }
                 break;
             }
-            case 0x0000043eu:
+            case 0x00000440u:
             {
                 if (name == BuiltInName::dot_20B20B)
                 {
@@ -33267,7 +33236,7 @@
                 }
                 break;
             }
-            case 0x00000445u:
+            case 0x00000448u:
             {
                 if (name == BuiltInName::normalize_30B)
                 {
@@ -33275,7 +33244,7 @@
                 }
                 break;
             }
-            case 0x00000465u:
+            case 0x00000468u:
             {
                 if (name == BuiltInName::equal_20F20F)
                 {
@@ -33283,7 +33252,7 @@
                 }
                 break;
             }
-            case 0x0000046au:
+            case 0x0000046du:
             {
                 if (name == BuiltInName::equal_10B10B)
                 {
@@ -33291,7 +33260,7 @@
                 }
                 break;
             }
-            case 0x0000047bu:
+            case 0x0000047eu:
             {
                 if (name == BuiltInName::greaterThan_10B10B)
                 {
@@ -33299,7 +33268,7 @@
                 }
                 break;
             }
-            case 0x0000048cu:
+            case 0x0000048fu:
             {
                 if (name == BuiltInName::tan_20B)
                 {
@@ -33307,7 +33276,7 @@
                 }
                 break;
             }
-            case 0x0000048eu:
+            case 0x00000491u:
             {
                 if (name == BuiltInName::floor_00B)
                 {
@@ -33315,7 +33284,7 @@
                 }
                 break;
             }
-            case 0x00000499u:
+            case 0x0000049cu:
             {
                 if (name == BuiltInName::notEqual_20D20D)
                 {
@@ -33323,7 +33292,7 @@
                 }
                 break;
             }
-            case 0x000004a9u:
+            case 0x000004acu:
             {
                 if (name == BuiltInName::lessThanEqual_30D30D)
                 {
@@ -33331,7 +33300,7 @@
                 }
                 break;
             }
-            case 0x000004afu:
+            case 0x000004b2u:
             {
                 if (name == BuiltInName::step_00B20B)
                 {
@@ -33339,7 +33308,7 @@
                 }
                 break;
             }
-            case 0x000004ceu:
+            case 0x000004d1u:
             {
                 if (name == BuiltInName::fract_10B)
                 {
@@ -33347,7 +33316,7 @@
                 }
                 break;
             }
-            case 0x000004d7u:
+            case 0x000004dau:
             {
                 if (name == BuiltInName::min_30B00B)
                 {
@@ -33355,7 +33324,7 @@
                 }
                 break;
             }
-            case 0x000004dcu:
+            case 0x000004dfu:
             {
                 if (name == BuiltInName::exp_10B)
                 {
@@ -33363,7 +33332,7 @@
                 }
                 break;
             }
-            case 0x000004e1u:
+            case 0x000004e4u:
             {
                 if (name == BuiltInName::sqrt_20B)
                 {
@@ -33371,7 +33340,7 @@
                 }
                 break;
             }
-            case 0x000004fau:
+            case 0x000004fdu:
             {
                 if (name == BuiltInName::normalize_00B)
                 {
@@ -33379,7 +33348,7 @@
                 }
                 break;
             }
-            case 0x00000519u:
+            case 0x0000051cu:
             {
                 if (name == BuiltInName::log_30B)
                 {
@@ -33387,7 +33356,7 @@
                 }
                 break;
             }
-            case 0x0000051bu:
+            case 0x0000051eu:
             {
                 if (name == BuiltInName::notEqual_20F20F)
                 {
@@ -33395,7 +33364,7 @@
                 }
                 break;
             }
-            case 0x00000520u:
+            case 0x00000523u:
             {
                 if (name == BuiltInName::notEqual_30D30D)
                 {
@@ -33403,7 +33372,7 @@
                 }
                 break;
             }
-            case 0x0000052fu:
+            case 0x00000532u:
             {
                 if (name == BuiltInName::gl_MaxDrawBuffers)
                 {
@@ -33411,7 +33380,7 @@
                 }
                 break;
             }
-            case 0x00000537u:
+            case 0x0000053au:
             {
                 if (name == BuiltInName::any_30F)
                 {
@@ -33419,7 +33388,7 @@
                 }
                 break;
             }
-            case 0x00000538u:
+            case 0x0000053bu:
             {
                 if (name == BuiltInName::distance_30B30B)
                 {
@@ -33427,7 +33396,7 @@
                 }
                 break;
             }
-            case 0x00000546u:
+            case 0x00000549u:
             {
                 if (name == BuiltInName::dot_30B30B)
                 {
@@ -33435,7 +33404,7 @@
                 }
                 break;
             }
-            case 0x0000054bu:
+            case 0x0000054eu:
             {
                 if (name == BuiltInName::gl_MaxTextureImageUnits)
                 {
@@ -33443,7 +33412,7 @@
                 }
                 break;
             }
-            case 0x0000054fu:
+            case 0x00000552u:
             {
                 if (name == BuiltInName::clamp_30B00B00B)
                 {
@@ -33451,7 +33420,7 @@
                 }
                 break;
             }
-            case 0x00000556u:
+            case 0x00000559u:
             {
                 if (name == BuiltInName::floor_30B)
                 {
@@ -33459,7 +33428,7 @@
                 }
                 break;
             }
-            case 0x00000561u:
+            case 0x00000564u:
             {
                 if (name == BuiltInName::clamp_10B00B00B)
                 {
@@ -33467,7 +33436,7 @@
                 }
                 break;
             }
-            case 0x00000564u:
+            case 0x00000567u:
             {
                 if (name == BuiltInName::lessThan_10D10D)
                 {
@@ -33475,7 +33444,7 @@
                 }
                 break;
             }
-            case 0x0000056fu:
+            case 0x00000572u:
             {
                 if (name == BuiltInName::atan_30B30B)
                 {
@@ -33483,7 +33452,7 @@
                 }
                 break;
             }
-            case 0x00000574u:
+            case 0x00000577u:
             {
                 if (name == BuiltInName::max_00B00B)
                 {
@@ -33491,7 +33460,7 @@
                 }
                 break;
             }
-            case 0x00000579u:
+            case 0x0000057cu:
             {
                 if (name == BuiltInName::exp2_20B)
                 {
@@ -33499,7 +33468,7 @@
                 }
                 break;
             }
-            case 0x00000582u:
+            case 0x00000585u:
             {
                 if (name == BuiltInName::gl_MaxCombinedTextureImageUnits)
                 {
@@ -33507,7 +33476,7 @@
                 }
                 break;
             }
-            case 0x00000584u:
+            case 0x00000587u:
             {
                 if (name == BuiltInName::reflect_20B20B)
                 {
@@ -33515,7 +33484,7 @@
                 }
                 break;
             }
-            case 0x00000587u:
+            case 0x0000058au:
             {
                 if (name == BuiltInName::equal_10F10F)
                 {
@@ -33523,7 +33492,7 @@
                 }
                 break;
             }
-            case 0x0000058au:
+            case 0x0000058du:
             {
                 if (name == BuiltInName::acos_30B)
                 {
@@ -33531,7 +33500,7 @@
                 }
                 break;
             }
-            case 0x00000591u:
+            case 0x00000593u:
             {
                 if (name == BuiltInName::fract_00B)
                 {
@@ -33539,7 +33508,7 @@
                 }
                 break;
             }
-            case 0x00000598u:
+            case 0x0000059au:
             {
                 if (name == BuiltInName::reflect_30B30B)
                 {
@@ -33547,7 +33516,7 @@
                 }
                 break;
             }
-            case 0x0000059bu:
+            case 0x0000059du:
             {
                 if (name == BuiltInName::mod_30B30B)
                 {
@@ -33555,7 +33524,7 @@
                 }
                 break;
             }
-            case 0x000005a1u:
+            case 0x000005a3u:
             {
                 if (name == BuiltInName::pow_00B00B)
                 {
@@ -33563,7 +33532,7 @@
                 }
                 break;
             }
-            case 0x000005a2u:
+            case 0x000005a4u:
             {
                 if (name == BuiltInName::mod_00B00B)
                 {
@@ -33571,7 +33540,7 @@
                 }
                 break;
             }
-            case 0x000005acu:
+            case 0x000005aeu:
             {
                 if (name == BuiltInName::distance_20B20B)
                 {
@@ -33579,7 +33548,7 @@
                 }
                 break;
             }
-            case 0x000005bfu:
+            case 0x000005c1u:
             {
                 if (name == BuiltInName::mix_10B10B10B)
                 {
@@ -33587,7 +33556,7 @@
                 }
                 break;
             }
-            case 0x000005cdu:
+            case 0x000005cfu:
             {
                 if (name == BuiltInName::atan_20B20B)
                 {
@@ -33595,7 +33564,7 @@
                 }
                 break;
             }
-            case 0x000005ddu:
+            case 0x000005dfu:
             {
                 if (name == BuiltInName::smoothstep_00B00B10B)
                 {
@@ -33603,7 +33572,7 @@
                 }
                 break;
             }
-            case 0x000005e2u:
+            case 0x000005e4u:
             {
                 if (name == BuiltInName::normalize_10B)
                 {
@@ -33611,7 +33580,7 @@
                 }
                 break;
             }
-            case 0x000005ebu:
+            case 0x000005edu:
             {
                 if (name == BuiltInName::any_20F)
                 {
@@ -33619,7 +33588,7 @@
                 }
                 break;
             }
-            case 0x000005eeu:
+            case 0x000005f0u:
             {
                 if (name == BuiltInName::sin_10B)
                 {
@@ -33627,7 +33596,7 @@
                 }
                 break;
             }
-            case 0x000005f0u:
+            case 0x000005f2u:
             {
                 if (name == BuiltInName::mod_20B20B)
                 {
@@ -33635,7 +33604,7 @@
                 }
                 break;
             }
-            case 0x000005fcu:
+            case 0x000005feu:
             {
                 if (name == BuiltInName::refract_30B30B00B)
                 {
@@ -33643,7 +33612,7 @@
                 }
                 break;
             }
-            case 0x000005feu:
+            case 0x00000600u:
             {
                 if (name == BuiltInName::floor_20B)
                 {
@@ -33651,7 +33620,7 @@
                 }
                 break;
             }
-            case 0x00000601u:
+            case 0x00000603u:
             {
                 if (name == BuiltInName::matrixCompMult_F0BF0B)
                 {
@@ -33659,7 +33628,7 @@
                 }
                 break;
             }
-            case 0x00000615u:
+            case 0x00000617u:
             {
                 if (name == BuiltInName::length_30B)
                 {
@@ -33667,7 +33636,7 @@
                 }
                 break;
             }
-            case 0x0000061cu:
+            case 0x0000061eu:
             {
                 if (name == BuiltInName::exp2_30B)
                 {
@@ -33675,7 +33644,7 @@
                 }
                 break;
             }
-            case 0x00000632u:
+            case 0x00000634u:
             {
                 if (name == BuiltInName::lessThan_30B30B)
                 {
@@ -33683,7 +33652,7 @@
                 }
                 break;
             }
-            case 0x00000633u:
+            case 0x00000635u:
             {
                 if (name == BuiltInName::cross_20B20B)
                 {
@@ -33691,7 +33660,7 @@
                 }
                 break;
             }
-            case 0x00000636u:
+            case 0x00000638u:
             {
                 if (name == BuiltInName::clamp_20B00B00B)
                 {
@@ -33699,7 +33668,7 @@
                 }
                 break;
             }
-            case 0x0000063au:
+            case 0x0000063cu:
             {
                 if (name == BuiltInName::acos_20B)
                 {
@@ -33707,7 +33676,7 @@
                 }
                 break;
             }
-            case 0x0000063du:
+            case 0x0000063fu:
             {
                 if (name == BuiltInName::max_20B20B)
                 {
@@ -33715,7 +33684,7 @@
                 }
                 break;
             }
-            case 0x0000064eu:
+            case 0x00000650u:
             {
                 if (name == BuiltInName::faceforward_00B00B00B)
                 {
@@ -33723,7 +33692,7 @@
                 }
                 break;
             }
-            case 0x0000066bu:
+            case 0x0000066du:
             {
                 if (name == BuiltInName::gl_MaxFragmentUniformVectors)
                 {
@@ -33731,7 +33700,7 @@
                 }
                 break;
             }
-            case 0x00000670u:
+            case 0x00000672u:
             {
                 if (name == BuiltInName::abs_30B)
                 {
@@ -33739,7 +33708,7 @@
                 }
                 break;
             }
-            case 0x00000674u:
+            case 0x00000676u:
             {
                 if (name == BuiltInName::mix_10B10B00B)
                 {
@@ -33747,7 +33716,7 @@
                 }
                 break;
             }
-            case 0x00000680u:
+            case 0x00000682u:
             {
                 if (name == BuiltInName::pow_20B20B)
                 {
@@ -33755,7 +33724,7 @@
                 }
                 break;
             }
-            case 0x0000068bu:
+            case 0x0000068du:
             {
                 if (name == BuiltInName::log2_20B)
                 {
@@ -33763,7 +33732,7 @@
                 }
                 break;
             }
-            case 0x00000692u:
+            case 0x00000694u:
             {
                 if (name == BuiltInName::notEqual_10F10F)
                 {
@@ -33771,7 +33740,7 @@
                 }
                 break;
             }
-            case 0x00000694u:
+            case 0x00000696u:
             {
                 if (name == BuiltInName::smoothstep_00B00B00B)
                 {
@@ -33779,7 +33748,7 @@
                 }
                 break;
             }
-            case 0x000006a2u:
+            case 0x000006a4u:
             {
                 if (name == BuiltInName::lessThanEqual_10D10D)
                 {
@@ -33787,7 +33756,7 @@
                 }
                 break;
             }
-            case 0x000006a6u:
+            case 0x000006a8u:
             {
                 if (name == BuiltInName::sin_00B)
                 {
@@ -33795,7 +33764,7 @@
                 }
                 break;
             }
-            case 0x000006d5u:
+            case 0x000006d7u:
             {
                 if (name == BuiltInName::gl_DepthRangeParameters)
                 {
@@ -33803,7 +33772,7 @@
                 }
                 break;
             }
-            case 0x000006dcu:
+            case 0x000006deu:
             {
                 if (name == BuiltInName::sign_10B)
                 {
@@ -33811,7 +33780,7 @@
                 }
                 break;
             }
-            case 0x000006e8u:
+            case 0x000006eau:
             {
                 if (name == BuiltInName::exp2_00B)
                 {
@@ -33819,7 +33788,7 @@
                 }
                 break;
             }
-            case 0x00000704u:
+            case 0x00000705u:
             {
                 if (name == BuiltInName::asin_20B)
                 {
@@ -33827,7 +33796,7 @@
                 }
                 break;
             }
-            case 0x00000720u:
+            case 0x00000721u:
             {
                 if (name == BuiltInName::mix_30B30B00B)
                 {
@@ -33835,7 +33804,7 @@
                 }
                 break;
             }
-            case 0x0000072eu:
+            case 0x0000072fu:
             {
                 if (name == BuiltInName::min_30B30B)
                 {
@@ -33843,7 +33812,7 @@
                 }
                 break;
             }
-            case 0x00000739u:
+            case 0x0000073au:
             {
                 if (name == BuiltInName::atan_10B)
                 {
@@ -33851,7 +33820,7 @@
                 }
                 break;
             }
-            case 0x0000073fu:
+            case 0x00000740u:
             {
                 if (name == BuiltInName::step_00B10B)
                 {
@@ -33859,7 +33828,7 @@
                 }
                 break;
             }
-            case 0x00000745u:
+            case 0x00000746u:
             {
                 if (name == BuiltInName::log2_10B)
                 {
@@ -33867,7 +33836,7 @@
                 }
                 break;
             }
-            case 0x0000074eu:
+            case 0x0000074fu:
             {
                 if (name == BuiltInName::greaterThanEqual_10B10B)
                 {
@@ -33875,7 +33844,7 @@
                 }
                 break;
             }
-            case 0x00000761u:
+            case 0x00000762u:
             {
                 if (name == BuiltInName::mod_20B00B)
                 {
@@ -33883,7 +33852,7 @@
                 }
                 break;
             }
-            case 0x00000777u:
+            case 0x00000778u:
             {
                 if (name == BuiltInName::greaterThan_10D10D)
                 {
@@ -33891,7 +33860,7 @@
                 }
                 break;
             }
-            case 0x0000077eu:
+            case 0x0000077fu:
             {
                 if (name == BuiltInName::greaterThan_20D20D)
                 {
@@ -33899,7 +33868,7 @@
                 }
                 break;
             }
-            case 0x00000784u:
+            case 0x00000785u:
             {
                 if (name == BuiltInName::length_10B)
                 {
@@ -33907,7 +33876,7 @@
                 }
                 break;
             }
-            case 0x0000078au:
+            case 0x0000078bu:
             {
                 if (name == BuiltInName::dot_00B00B)
                 {
@@ -33915,7 +33884,7 @@
                 }
                 break;
             }
-            case 0x0000078bu:
+            case 0x0000078cu:
             {
                 if (name == BuiltInName::tan_30B)
                 {
@@ -33923,7 +33892,7 @@
                 }
                 break;
             }
-            case 0x0000078eu:
+            case 0x0000078fu:
             {
                 if (name == BuiltInName::exp2_10B)
                 {
@@ -33931,7 +33900,7 @@
                 }
                 break;
             }
-            case 0x00000791u:
+            case 0x00000792u:
             {
                 if (name == BuiltInName::matrixCompMult_A0BA0B)
                 {
@@ -33939,7 +33908,7 @@
                 }
                 break;
             }
-            case 0x000007b4u:
+            case 0x000007b5u:
             {
                 if (name == BuiltInName::asin_30B)
                 {
@@ -33947,7 +33916,7 @@
                 }
                 break;
             }
-            case 0x000007c2u:
+            case 0x000007c3u:
             {
                 if (name == BuiltInName::mod_10B00B)
                 {
@@ -33955,7 +33924,7 @@
                 }
                 break;
             }
-            case 0x000007d0u:
+            case 0x000007d1u:
             {
                 if (name == BuiltInName::log2_00B)
                 {
@@ -33963,7 +33932,7 @@
                 }
                 break;
             }
-            case 0x000007d7u:
+            case 0x000007d8u:
             {
                 if (name == BuiltInName::clamp_00B00B00B)
                 {
@@ -33971,7 +33940,7 @@
                 }
                 break;
             }
-            case 0x000007eeu:
+            case 0x000007efu:
             {
                 if (name == BuiltInName::step_00B00B)
                 {
@@ -33979,7 +33948,7 @@
                 }
                 break;
             }
-            case 0x00000815u:
+            case 0x00000816u:
             {
                 if (name == BuiltInName::min_00B00B)
                 {
@@ -33987,7 +33956,7 @@
                 }
                 break;
             }
-            case 0x0000081au:
+            case 0x0000081bu:
             {
                 if (name == BuiltInName::degrees_00B)
                 {
@@ -33995,7 +33964,7 @@
                 }
                 break;
             }
-            case 0x0000082bu:
+            case 0x0000082cu:
             {
                 if (name == BuiltInName::lessThan_30D30D)
                 {
@@ -34003,7 +33972,7 @@
                 }
                 break;
             }
-            case 0x0000082cu:
+            case 0x0000082du:
             {
                 if (name == BuiltInName::atan_00B00B)
                 {
@@ -34011,7 +33980,7 @@
                 }
                 break;
             }
-            case 0x0000082fu:
+            case 0x00000830u:
             {
                 if (name == BuiltInName::notEqual_10B10B)
                 {
@@ -34019,7 +33988,7 @@
                 }
                 break;
             }
-            case 0x00000833u:
+            case 0x00000834u:
             {
                 if (name == BuiltInName::length_00B)
                 {
@@ -34027,7 +33996,7 @@
                 }
                 break;
             }
-            case 0x0000083cu:
+            case 0x0000083du:
             {
                 if (name == BuiltInName::tan_00B)
                 {
@@ -34035,7 +34004,7 @@
                 }
                 break;
             }
-            case 0x00000846u:
+            case 0x00000847u:
             {
                 if (name == BuiltInName::min_20B20B)
                 {
@@ -34155,14 +34124,6 @@
                 }
                 break;
             }
-            case 0x0000090bu:
-            {
-                if (name == BuiltInName::mix_20B20B20B)
-                {
-                    return &BuiltInFunction::function_mix_20B20B20B;
-                }
-                break;
-            }
             case 0x0000091au:
             {
                 if (name == BuiltInName::cos_20B)
@@ -34184,7 +34145,7 @@
                     }
                     break;
                 }
-                case 0x000004f3u:
+                case 0x000004f6u:
                 {
                     if (name == BuiltInName::gl_FragCoord)
                     {
@@ -34192,7 +34153,7 @@
                     }
                     break;
                 }
-                case 0x0000055cu:
+                case 0x0000055fu:
                 {
                     if (name == BuiltInName::gl_PointCoord)
                     {
@@ -34214,7 +34175,7 @@
                     }
                     break;
                 }
-                case 0x00000434u:
+                case 0x00000436u:
                 {
                     if (name == BuiltInName::gl_Position)
                     {
@@ -34224,6 +34185,20 @@
                 }
             }
         }
+        if ((mShaderType == GL_VERTEX_SHADER) && (mResources.ANGLE_multi_draw))
+        {
+            switch (nameHash)
+            {
+                case 0x00000495u:
+                {
+                    if (name == BuiltInName::gl_DrawID)
+                    {
+                        return &BuiltInVariable::kVar_gl_DrawID;
+                    }
+                    break;
+                }
+            }
+        }
     }
     else
     {
@@ -34255,7 +34230,7 @@
                     }
                     break;
                 }
-                case 0x000003beu:
+                case 0x000003c0u:
                 {
                     if (name == BuiltInName::atomicCounterOr_00G00E)
                     {
@@ -34263,7 +34238,7 @@
                     }
                     break;
                 }
-                case 0x000004acu:
+                case 0x000004afu:
                 {
                     if (name == BuiltInName::atomicCounterMax_00G00E)
                     {
@@ -34271,7 +34246,7 @@
                     }
                     break;
                 }
-                case 0x000004adu:
+                case 0x000004b0u:
                 {
                     if (name == BuiltInName::atomicCounterExchange_00G00E)
                     {
@@ -34279,7 +34254,7 @@
                     }
                     break;
                 }
-                case 0x0000051cu:
+                case 0x0000051fu:
                 {
                     if (name == BuiltInName::allInvocationsEqual_00F)
                     {
@@ -34287,7 +34262,7 @@
                     }
                     break;
                 }
-                case 0x00000531u:
+                case 0x00000534u:
                 {
                     if (name == BuiltInName::atomicCounterMin_00G00E)
                     {
@@ -34295,7 +34270,7 @@
                     }
                     break;
                 }
-                case 0x00000597u:
+                case 0x00000599u:
                 {
                     if (name == BuiltInName::subpassLoad_01i)
                     {
@@ -34303,7 +34278,7 @@
                     }
                     break;
                 }
-                case 0x000005b2u:
+                case 0x000005b4u:
                 {
                     if (name == BuiltInName::atomicCounterXor_00G00E)
                     {
@@ -34311,7 +34286,7 @@
                     }
                     break;
                 }
-                case 0x000005d6u:
+                case 0x000005d8u:
                 {
                     if (name == BuiltInName::subpassLoad_01n00D)
                     {
@@ -34319,7 +34294,7 @@
                     }
                     break;
                 }
-                case 0x0000060cu:
+                case 0x0000060eu:
                 {
                     if (name == BuiltInName::atomicCounterSubtract_00G00E)
                     {
@@ -34327,7 +34302,7 @@
                     }
                     break;
                 }
-                case 0x0000061du:
+                case 0x0000061fu:
                 {
                     if (name == BuiltInName::allInvocations_00F)
                     {
@@ -34335,7 +34310,7 @@
                     }
                     break;
                 }
-                case 0x00000765u:
+                case 0x00000766u:
                 {
                     if (name == BuiltInName::subpassLoad_01k)
                     {
@@ -34343,7 +34318,7 @@
                     }
                     break;
                 }
-                case 0x00000788u:
+                case 0x00000789u:
                 {
                     if (name == BuiltInName::subpassLoad_01j)
                     {
@@ -34351,7 +34326,7 @@
                     }
                     break;
                 }
-                case 0x00000798u:
+                case 0x00000799u:
                 {
                     if (name == BuiltInName::anyInvocation_00F)
                     {
@@ -34359,7 +34334,7 @@
                     }
                     break;
                 }
-                case 0x00000859u:
+                case 0x0000085au:
                 {
                     if (name == BuiltInName::atomicCounterAnd_00G00E)
                     {
@@ -34653,7 +34628,7 @@
                     }
                     break;
                 }
-                case 0x000003c5u:
+                case 0x000003c7u:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01D20D00B)
                     {
@@ -34661,7 +34636,7 @@
                     }
                     break;
                 }
-                case 0x00000405u:
+                case 0x00000407u:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01L00D00B)
                     {
@@ -34669,7 +34644,7 @@
                     }
                     break;
                 }
-                case 0x0000042fu:
+                case 0x00000431u:
                 {
                     if (name == BuiltInName::textureSamples_00c)
                     {
@@ -34677,7 +34652,7 @@
                     }
                     break;
                 }
-                case 0x00000432u:
+                case 0x00000434u:
                 {
                     if (name == BuiltInName::mix_10F10F10F)
                     {
@@ -34685,7 +34660,7 @@
                     }
                     break;
                 }
-                case 0x00000439u:
+                case 0x0000043bu:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01J20D00B)
                     {
@@ -34693,7 +34668,7 @@
                     }
                     break;
                 }
-                case 0x0000046eu:
+                case 0x00000471u:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01Q10D00D00B)
                     {
@@ -34701,7 +34676,7 @@
                     }
                     break;
                 }
-                case 0x0000047eu:
+                case 0x00000481u:
                 {
                     if (name == BuiltInName::mix_20E20E20F)
                     {
@@ -34709,7 +34684,7 @@
                     }
                     break;
                 }
-                case 0x000004c8u:
+                case 0x000004cbu:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01I20D00B)
                     {
@@ -34717,7 +34692,7 @@
                     }
                     break;
                 }
-                case 0x00000570u:
+                case 0x00000573u:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01h00D00B)
                     {
@@ -34725,7 +34700,7 @@
                     }
                     break;
                 }
-                case 0x0000057bu:
+                case 0x0000057eu:
                 {
                     if (name == BuiltInName::imageAtomicExchange_00z10D00B)
                     {
@@ -34733,7 +34708,7 @@
                     }
                     break;
                 }
-                case 0x00000581u:
+                case 0x00000584u:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01K00D00B)
                     {
@@ -34741,7 +34716,7 @@
                     }
                     break;
                 }
-                case 0x000005bbu:
+                case 0x000005bdu:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01T20D00D00B)
                     {
@@ -34749,7 +34724,7 @@
                     }
                     break;
                 }
-                case 0x00000656u:
+                case 0x00000658u:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01U20D00D00B)
                     {
@@ -34757,7 +34732,7 @@
                     }
                     break;
                 }
-                case 0x00000682u:
+                case 0x00000684u:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01G20D00B)
                     {
@@ -34765,7 +34740,7 @@
                     }
                     break;
                 }
-                case 0x000006b6u:
+                case 0x000006b8u:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01Y10D00B)
                     {
@@ -34773,7 +34748,7 @@
                     }
                     break;
                 }
-                case 0x000006bau:
+                case 0x000006bcu:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01O10D00B)
                     {
@@ -34781,7 +34756,7 @@
                     }
                     break;
                 }
-                case 0x000006e9u:
+                case 0x000006ebu:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01H20D00B)
                     {
@@ -34789,7 +34764,7 @@
                     }
                     break;
                 }
-                case 0x000007dbu:
+                case 0x000007dcu:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01f00D00B)
                     {
@@ -34797,7 +34772,7 @@
                     }
                     break;
                 }
-                case 0x0000080eu:
+                case 0x0000080fu:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01X10D00B)
                     {
@@ -34805,7 +34780,7 @@
                     }
                     break;
                 }
-                case 0x00000825u:
+                case 0x00000826u:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01a20D00B)
                     {
@@ -34866,7 +34841,7 @@
                         }
                         break;
                     }
-                    case 0x00000352u:
+                    case 0x00000353u:
                     {
                         if (name == BuiltInName::dFdyCoarse_30B)
                         {
@@ -34874,7 +34849,7 @@
                         }
                         break;
                     }
-                    case 0x00000359u:
+                    case 0x0000035au:
                     {
                         if (name == BuiltInName::dFdxCoarse_00B)
                         {
@@ -34882,7 +34857,7 @@
                         }
                         break;
                     }
-                    case 0x00000422u:
+                    case 0x00000424u:
                     {
                         if (name == BuiltInName::dFdxCoarse_10B)
                         {
@@ -34890,7 +34865,7 @@
                         }
                         break;
                     }
-                    case 0x0000044cu:
+                    case 0x0000044fu:
                     {
                         if (name == BuiltInName::fwidthFine_30B)
                         {
@@ -34898,7 +34873,7 @@
                         }
                         break;
                     }
-                    case 0x00000454u:
+                    case 0x00000457u:
                     {
                         if (name == BuiltInName::dFdyFine_10B)
                         {
@@ -34906,7 +34881,7 @@
                         }
                         break;
                     }
-                    case 0x00000462u:
+                    case 0x00000465u:
                     {
                         if (name == BuiltInName::fwidthCoarse_20B)
                         {
@@ -34914,7 +34889,7 @@
                         }
                         break;
                     }
-                    case 0x0000047fu:
+                    case 0x00000482u:
                     {
                         if (name == BuiltInName::dFdyFine_00B)
                         {
@@ -34922,7 +34897,7 @@
                         }
                         break;
                     }
-                    case 0x000004b5u:
+                    case 0x000004b8u:
                     {
                         if (name == BuiltInName::dFdyCoarse_00B)
                         {
@@ -34930,7 +34905,7 @@
                         }
                         break;
                     }
-                    case 0x000004f6u:
+                    case 0x000004f9u:
                     {
                         if (name == BuiltInName::fwidthFine_20B)
                         {
@@ -34938,7 +34913,7 @@
                         }
                         break;
                     }
-                    case 0x0000050cu:
+                    case 0x0000050fu:
                     {
                         if (name == BuiltInName::dFdyFine_20B)
                         {
@@ -34946,7 +34921,7 @@
                         }
                         break;
                     }
-                    case 0x00000510u:
+                    case 0x00000513u:
                     {
                         if (name == BuiltInName::dFdxFine_10B)
                         {
@@ -34954,7 +34929,7 @@
                         }
                         break;
                     }
-                    case 0x00000521u:
+                    case 0x00000524u:
                     {
                         if (name == BuiltInName::fwidthCoarse_30B)
                         {
@@ -34962,7 +34937,7 @@
                         }
                         break;
                     }
-                    case 0x000005abu:
+                    case 0x000005adu:
                     {
                         if (name == BuiltInName::dFdxFine_00B)
                         {
@@ -34970,7 +34945,7 @@
                         }
                         break;
                     }
-                    case 0x000005d1u:
+                    case 0x000005d3u:
                     {
                         if (name == BuiltInName::dFdyFine_30B)
                         {
@@ -34978,7 +34953,7 @@
                         }
                         break;
                     }
-                    case 0x000005e3u:
+                    case 0x000005e5u:
                     {
                         if (name == BuiltInName::dFdyCoarse_20B)
                         {
@@ -34986,7 +34961,7 @@
                         }
                         break;
                     }
-                    case 0x00000667u:
+                    case 0x00000669u:
                     {
                         if (name == BuiltInName::dFdxFine_30B)
                         {
@@ -34994,7 +34969,7 @@
                         }
                         break;
                     }
-                    case 0x0000068eu:
+                    case 0x00000690u:
                     {
                         if (name == BuiltInName::fwidthCoarse_10B)
                         {
@@ -35002,7 +34977,7 @@
                         }
                         break;
                     }
-                    case 0x00000693u:
+                    case 0x00000695u:
                     {
                         if (name == BuiltInName::dFdxCoarse_20B)
                         {
@@ -35010,7 +34985,7 @@
                         }
                         break;
                     }
-                    case 0x000006ceu:
+                    case 0x000006d0u:
                     {
                         if (name == BuiltInName::fwidthCoarse_00B)
                         {
@@ -35018,7 +34993,7 @@
                         }
                         break;
                     }
-                    case 0x0000071cu:
+                    case 0x0000071du:
                     {
                         if (name == BuiltInName::dFdxFine_20B)
                         {
@@ -35026,7 +35001,7 @@
                         }
                         break;
                     }
-                    case 0x000007e0u:
+                    case 0x000007e1u:
                     {
                         if (name == BuiltInName::dFdyCoarse_10B)
                         {
@@ -35121,7 +35096,7 @@
                     }
                     break;
                 }
-                case 0x00000350u:
+                case 0x00000351u:
                 {
                     if (name == BuiltInName::imageSize_00y)
                     {
@@ -35129,7 +35104,7 @@
                     }
                     break;
                 }
-                case 0x0000038eu:
+                case 0x0000038fu:
                 {
                     if (name == BuiltInName::textureQueryLevels_00p)
                     {
@@ -35137,7 +35112,7 @@
                     }
                     break;
                 }
-                case 0x000003ddu:
+                case 0x000003dfu:
                 {
                     if (name == BuiltInName::atomicOr_00D00D)
                     {
@@ -35145,7 +35120,7 @@
                     }
                     break;
                 }
-                case 0x000003f5u:
+                case 0x000003f7u:
                 {
                     if (name == BuiltInName::imageSize_01J)
                     {
@@ -35153,7 +35128,7 @@
                     }
                     break;
                 }
-                case 0x000003f6u:
+                case 0x000003f8u:
                 {
                     if (name == BuiltInName::imageSize_01K)
                     {
@@ -35161,7 +35136,7 @@
                     }
                     break;
                 }
-                case 0x000003f8u:
+                case 0x000003fau:
                 {
                     if (name == BuiltInName::imageSize_01I)
                     {
@@ -35169,7 +35144,7 @@
                     }
                     break;
                 }
-                case 0x000003fbu:
+                case 0x000003fdu:
                 {
                     if (name == BuiltInName::imageSize_01L)
                     {
@@ -35177,7 +35152,7 @@
                     }
                     break;
                 }
-                case 0x000003fcu:
+                case 0x000003feu:
                 {
                     if (name == BuiltInName::imageSize_01M)
                     {
@@ -35185,7 +35160,7 @@
                     }
                     break;
                 }
-                case 0x000003fdu:
+                case 0x000003ffu:
                 {
                     if (name == BuiltInName::imageSize_01B)
                     {
@@ -35193,7 +35168,7 @@
                     }
                     break;
                 }
-                case 0x000003feu:
+                case 0x00000400u:
                 {
                     if (name == BuiltInName::imageSize_01C)
                     {
@@ -35201,7 +35176,7 @@
                     }
                     break;
                 }
-                case 0x00000400u:
+                case 0x00000402u:
                 {
                     if (name == BuiltInName::imageSize_01F)
                     {
@@ -35209,7 +35184,7 @@
                     }
                     break;
                 }
-                case 0x00000401u:
+                case 0x00000403u:
                 {
                     if (name == BuiltInName::imageSize_01G)
                     {
@@ -35217,7 +35192,7 @@
                     }
                     break;
                 }
-                case 0x00000404u:
+                case 0x00000406u:
                 {
                     if (name == BuiltInName::imageSize_01Z)
                     {
@@ -35225,7 +35200,7 @@
                     }
                     break;
                 }
-                case 0x00000409u:
+                case 0x0000040bu:
                 {
                     if (name == BuiltInName::imageSize_01R)
                     {
@@ -35233,7 +35208,7 @@
                     }
                     break;
                 }
-                case 0x0000040au:
+                case 0x0000040cu:
                 {
                     if (name == BuiltInName::imageSize_01S)
                     {
@@ -35241,7 +35216,7 @@
                     }
                     break;
                 }
-                case 0x0000040bu:
+                case 0x0000040du:
                 {
                     if (name == BuiltInName::imageSize_01P)
                     {
@@ -35249,7 +35224,7 @@
                     }
                     break;
                 }
-                case 0x0000040cu:
+                case 0x0000040eu:
                 {
                     if (name == BuiltInName::imageSize_01Q)
                     {
@@ -35257,7 +35232,7 @@
                     }
                     break;
                 }
-                case 0x0000040du:
+                case 0x0000040fu:
                 {
                     if (name == BuiltInName::imageSize_01V)
                     {
@@ -35265,7 +35240,7 @@
                     }
                     break;
                 }
-                case 0x0000040fu:
+                case 0x00000411u:
                 {
                     if (name == BuiltInName::imageSize_01T)
                     {
@@ -35273,7 +35248,7 @@
                     }
                     break;
                 }
-                case 0x00000411u:
+                case 0x00000413u:
                 {
                     if (name == BuiltInName::imageSize_01h)
                     {
@@ -35281,7 +35256,7 @@
                     }
                     break;
                 }
-                case 0x00000415u:
+                case 0x00000417u:
                 {
                     if (name == BuiltInName::imageSize_01c)
                     {
@@ -35289,7 +35264,7 @@
                     }
                     break;
                 }
-                case 0x00000416u:
+                case 0x00000418u:
                 {
                     if (name == BuiltInName::imageSize_01a)
                     {
@@ -35297,7 +35272,7 @@
                     }
                     break;
                 }
-                case 0x00000417u:
+                case 0x00000419u:
                 {
                     if (name == BuiltInName::imageSize_01f)
                     {
@@ -35305,7 +35280,7 @@
                     }
                     break;
                 }
-                case 0x00000419u:
+                case 0x0000041bu:
                 {
                     if (name == BuiltInName::imageSize_01d)
                     {
@@ -35313,7 +35288,7 @@
                     }
                     break;
                 }
-                case 0x0000045au:
+                case 0x0000045du:
                 {
                     if (name == BuiltInName::atomicCompSwap_00D00D00D)
                     {
@@ -35321,7 +35296,7 @@
                     }
                     break;
                 }
-                case 0x000004dau:
+                case 0x000004ddu:
                 {
                     if (name == BuiltInName::atomicAnd_00D00D)
                     {
@@ -35329,7 +35304,7 @@
                     }
                     break;
                 }
-                case 0x000004ffu:
+                case 0x00000502u:
                 {
                     if (name == BuiltInName::atomicOr_00E00E)
                     {
@@ -35337,7 +35312,7 @@
                     }
                     break;
                 }
-                case 0x00000503u:
+                case 0x00000506u:
                 {
                     if (name == BuiltInName::atomicMax_00D00D)
                     {
@@ -35345,7 +35320,7 @@
                     }
                     break;
                 }
-                case 0x00000524u:
+                case 0x00000527u:
                 {
                     if (name == BuiltInName::textureQueryLevels_00l)
                     {
@@ -35353,7 +35328,7 @@
                     }
                     break;
                 }
-                case 0x00000525u:
+                case 0x00000528u:
                 {
                     if (name == BuiltInName::textureQueryLevels_00m)
                     {
@@ -35361,7 +35336,7 @@
                     }
                     break;
                 }
-                case 0x00000527u:
+                case 0x0000052au:
                 {
                     if (name == BuiltInName::textureQueryLevels_00o)
                     {
@@ -35369,7 +35344,7 @@
                     }
                     break;
                 }
-                case 0x00000528u:
+                case 0x0000052bu:
                 {
                     if (name == BuiltInName::textureQueryLevels_00h)
                     {
@@ -35377,7 +35352,7 @@
                     }
                     break;
                 }
-                case 0x00000529u:
+                case 0x0000052cu:
                 {
                     if (name == BuiltInName::textureQueryLevels_00i)
                     {
@@ -35385,7 +35360,7 @@
                     }
                     break;
                 }
-                case 0x0000052au:
+                case 0x0000052du:
                 {
                     if (name == BuiltInName::textureQueryLevels_00k)
                     {
@@ -35393,7 +35368,7 @@
                     }
                     break;
                 }
-                case 0x0000052bu:
+                case 0x0000052eu:
                 {
                     if (name == BuiltInName::textureQueryLevels_00d)
                     {
@@ -35401,7 +35376,7 @@
                     }
                     break;
                 }
-                case 0x0000052cu:
+                case 0x0000052fu:
                 {
                     if (name == BuiltInName::textureQueryLevels_00e)
                     {
@@ -35409,7 +35384,7 @@
                     }
                     break;
                 }
-                case 0x0000052du:
+                case 0x00000530u:
                 {
                     if (name == BuiltInName::textureQueryLevels_00f)
                     {
@@ -35417,7 +35392,7 @@
                     }
                     break;
                 }
-                case 0x0000052eu:
+                case 0x00000531u:
                 {
                     if (name == BuiltInName::textureQueryLevels_00g)
                     {
@@ -35425,7 +35400,7 @@
                     }
                     break;
                 }
-                case 0x00000530u:
+                case 0x00000533u:
                 {
                     if (name == BuiltInName::textureQueryLevels_00a)
                     {
@@ -35433,7 +35408,7 @@
                     }
                     break;
                 }
-                case 0x00000533u:
+                case 0x00000536u:
                 {
                     if (name == BuiltInName::textureQueryLevels_00x)
                     {
@@ -35441,7 +35416,7 @@
                     }
                     break;
                 }
-                case 0x00000534u:
+                case 0x00000537u:
                 {
                     if (name == BuiltInName::textureQueryLevels_00t)
                     {
@@ -35449,7 +35424,7 @@
                     }
                     break;
                 }
-                case 0x00000535u:
+                case 0x00000538u:
                 {
                     if (name == BuiltInName::textureQueryLevels_00u)
                     {
@@ -35457,7 +35432,7 @@
                     }
                     break;
                 }
-                case 0x00000539u:
+                case 0x0000053cu:
                 {
                     if (name == BuiltInName::textureQueryLevels_00s)
                     {
@@ -35465,7 +35440,7 @@
                     }
                     break;
                 }
-                case 0x0000053au:
+                case 0x0000053du:
                 {
                     if (name == BuiltInName::textureQueryLevels_00L)
                     {
@@ -35473,7 +35448,7 @@
                     }
                     break;
                 }
-                case 0x0000053bu:
+                case 0x0000053eu:
                 {
                     if (name == BuiltInName::textureQueryLevels_00I)
                     {
@@ -35481,7 +35456,7 @@
                     }
                     break;
                 }
-                case 0x0000053cu:
+                case 0x0000053fu:
                 {
                     if (name == BuiltInName::textureQueryLevels_00J)
                     {
@@ -35489,7 +35464,7 @@
                     }
                     break;
                 }
-                case 0x0000053du:
+                case 0x00000540u:
                 {
                     if (name == BuiltInName::textureQueryLevels_00K)
                     {
@@ -35497,7 +35472,7 @@
                     }
                     break;
                 }
-                case 0x00000543u:
+                case 0x00000546u:
                 {
                     if (name == BuiltInName::textureQueryLevels_00X)
                     {
@@ -35505,7 +35480,7 @@
                     }
                     break;
                 }
-                case 0x00000544u:
+                case 0x00000547u:
                 {
                     if (name == BuiltInName::textureQueryLevels_00Y)
                     {
@@ -35513,7 +35488,7 @@
                     }
                     break;
                 }
-                case 0x00000545u:
+                case 0x00000548u:
                 {
                     if (name == BuiltInName::textureQueryLevels_00Z)
                     {
@@ -35521,7 +35496,7 @@
                     }
                     break;
                 }
-                case 0x00000547u:
+                case 0x0000054au:
                 {
                     if (name == BuiltInName::textureQueryLevels_00T)
                     {
@@ -35529,7 +35504,7 @@
                     }
                     break;
                 }
-                case 0x00000548u:
+                case 0x0000054bu:
                 {
                     if (name == BuiltInName::textureQueryLevels_00U)
                     {
@@ -35537,7 +35512,7 @@
                     }
                     break;
                 }
-                case 0x00000549u:
+                case 0x0000054cu:
                 {
                     if (name == BuiltInName::textureQueryLevels_00R)
                     {
@@ -35545,7 +35520,7 @@
                     }
                     break;
                 }
-                case 0x0000054au:
+                case 0x0000054du:
                 {
                     if (name == BuiltInName::textureQueryLevels_00S)
                     {
@@ -35553,7 +35528,7 @@
                     }
                     break;
                 }
-                case 0x000005dfu:
+                case 0x000005e1u:
                 {
                     if (name == BuiltInName::imageSize_01N)
                     {
@@ -35561,7 +35536,7 @@
                     }
                     break;
                 }
-                case 0x0000062du:
+                case 0x0000062fu:
                 {
                     if (name == BuiltInName::imageSize_01H)
                     {
@@ -35569,7 +35544,7 @@
                     }
                     break;
                 }
-                case 0x00000634u:
+                case 0x00000636u:
                 {
                     if (name == BuiltInName::imageSize_01O)
                     {
@@ -35577,7 +35552,7 @@
                     }
                     break;
                 }
-                case 0x0000063bu:
+                case 0x0000063du:
                 {
                     if (name == BuiltInName::imageSize_01A)
                     {
@@ -35585,7 +35560,7 @@
                     }
                     break;
                 }
-                case 0x00000641u:
+                case 0x00000643u:
                 {
                     if (name == BuiltInName::imageSize_01D)
                     {
@@ -35593,7 +35568,7 @@
                     }
                     break;
                 }
-                case 0x00000644u:
+                case 0x00000646u:
                 {
                     if (name == BuiltInName::imageSize_01E)
                     {
@@ -35601,7 +35576,7 @@
                     }
                     break;
                 }
-                case 0x00000675u:
+                case 0x00000677u:
                 {
                     if (name == BuiltInName::imageSize_01b)
                     {
@@ -35609,7 +35584,7 @@
                     }
                     break;
                 }
-                case 0x00000681u:
+                case 0x00000683u:
                 {
                     if (name == BuiltInName::imageSize_01g)
                     {
@@ -35617,7 +35592,7 @@
                     }
                     break;
                 }
-                case 0x00000683u:
+                case 0x00000685u:
                 {
                     if (name == BuiltInName::imageSize_01e)
                     {
@@ -35625,7 +35600,7 @@
                     }
                     break;
                 }
-                case 0x000006cdu:
+                case 0x000006cfu:
                 {
                     if (name == BuiltInName::imageSize_01U)
                     {
@@ -35633,7 +35608,7 @@
                     }
                     break;
                 }
-                case 0x00000732u:
+                case 0x00000733u:
                 {
                     if (name == BuiltInName::memoryBarrierAtomicCounter_)
                     {
@@ -35641,7 +35616,7 @@
                     }
                     break;
                 }
-                case 0x00000769u:
+                case 0x0000076au:
                 {
                     if (name == BuiltInName::atomicAnd_00E00E)
                     {
@@ -35649,7 +35624,7 @@
                     }
                     break;
                 }
-                case 0x0000081fu:
+                case 0x00000820u:
                 {
                     if (name == BuiltInName::atomicExchange_00D00D)
                     {
@@ -35657,7 +35632,7 @@
                     }
                     break;
                 }
-                case 0x00000822u:
+                case 0x00000823u:
                 {
                     if (name == BuiltInName::textureOffset_00f30B10D)
                     {
@@ -37653,1775 +37628,7 @@
                     }
                     break;
                 }
-                case 0x0000034du:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01W10D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01W10D00D00D;
-                    }
-                    break;
-                }
-                case 0x0000034fu:
-                {
-                    if (name == BuiltInName::imageLoad_01T20D00D)
-                    {
-                        return &BuiltInFunction::function_imageLoad_01T20D00D;
-                    }
-                    break;
-                }
-                case 0x00000351u:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01W10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01W10D00E;
-                    }
-                    break;
-                }
-                case 0x00000354u:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01g00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01g00D00D;
-                    }
-                    break;
-                }
-                case 0x00000357u:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01R10D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01R10D00D00D;
-                    }
-                    break;
-                }
-                case 0x00000358u:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01T20D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01T20D00D00E;
-                    }
-                    break;
-                }
-                case 0x0000035au:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01a20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01a20D00D;
-                    }
-                    break;
-                }
-                case 0x00000365u:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01L00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01L00D00D;
-                    }
-                    break;
-                }
-                case 0x0000036cu:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01H20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01H20D00E;
-                    }
-                    break;
-                }
-                case 0x0000036du:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01H20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01H20D00D;
-                    }
-                    break;
-                }
-                case 0x0000036eu:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01O10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01O10D00E;
-                    }
-                    break;
-                }
-                case 0x0000036fu:
-                {
-                    if (name == BuiltInName::imageStore_01h00D30E)
-                    {
-                        return &BuiltInFunction::function_imageStore_01h00D30E;
-                    }
-                    break;
-                }
-                case 0x00000379u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01F20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01F20D00D;
-                    }
-                    break;
-                }
-                case 0x0000037eu:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01P10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01P10D00E;
-                    }
-                    break;
-                }
-                case 0x0000037fu:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01C20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01C20D00E;
-                    }
-                    break;
-                }
-                case 0x00000381u:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01b20D00E00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01b20D00E00E;
-                    }
-                    break;
-                }
-                case 0x00000384u:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01B20D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01B20D00D00D;
-                    }
-                    break;
-                }
-                case 0x00000385u:
-                {
-                    if (name == BuiltInName::imageLoad_00z10D)
-                    {
-                        return &BuiltInFunction::function_imageLoad_00z10D;
-                    }
-                    break;
-                }
-                case 0x00000395u:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01G20D00E00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01G20D00E00E;
-                    }
-                    break;
-                }
-                case 0x00000398u:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01Q10D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01Q10D00D00E;
-                    }
-                    break;
-                }
-                case 0x0000039bu:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01R10D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01R10D00D00D;
-                    }
-                    break;
-                }
-                case 0x0000039cu:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01R10D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01R10D00D00E;
-                    }
-                    break;
-                }
-                case 0x0000039du:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01E20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01E20D00D;
-                    }
-                    break;
-                }
-                case 0x0000039eu:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01E20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01E20D00E;
-                    }
-                    break;
-                }
-                case 0x000003acu:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01W10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01W10D00E;
-                    }
-                    break;
-                }
-                case 0x000003adu:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01W10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01W10D00D;
-                    }
-                    break;
-                }
-                case 0x000003b5u:
-                {
-                    if (name == BuiltInName::packSnorm2x16_10B)
-                    {
-                        return &BuiltInFunction::function_packSnorm2x16_10B;
-                    }
-                    break;
-                }
-                case 0x000003b7u:
-                {
-                    if (name == BuiltInName::imageLoad_00y10D)
-                    {
-                        return &BuiltInFunction::function_imageLoad_00y10D;
-                    }
-                    break;
-                }
-                case 0x000003bdu:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01Q10D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01Q10D00D00D;
-                    }
-                    break;
-                }
-                case 0x000003c0u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01T20D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01T20D00D00D;
-                    }
-                    break;
-                }
-                case 0x000003c1u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01T20D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01T20D00D00E;
-                    }
-                    break;
-                }
-                case 0x000003c3u:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01D20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01D20D00E;
-                    }
-                    break;
-                }
-                case 0x000003c6u:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01O10D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01O10D00D00D;
-                    }
-                    break;
-                }
-                case 0x000003c7u:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01g00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01g00D00E;
-                    }
-                    break;
-                }
-                case 0x000003cfu:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01B20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01B20D00D;
-                    }
-                    break;
-                }
-                case 0x000003d1u:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01g00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01g00D00E;
-                    }
-                    break;
-                }
-                case 0x000003d9u:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01R10D00D00E00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01R10D00D00E00E;
-                    }
-                    break;
-                }
-                case 0x000003e2u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01h00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01h00D00D;
-                    }
-                    break;
-                }
-                case 0x000003e4u:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01G20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01G20D00E;
-                    }
-                    break;
-                }
-                case 0x000003e5u:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01G20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01G20D00D;
-                    }
-                    break;
-                }
-                case 0x000003eau:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01N10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01N10D00E;
-                    }
-                    break;
-                }
-                case 0x000003ebu:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01N10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01N10D00D;
-                    }
-                    break;
-                }
-                case 0x000003eeu:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01h00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01h00D00E;
-                    }
-                    break;
-                }
-                case 0x000003f0u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01B20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01B20D00E;
-                    }
-                    break;
-                }
-                case 0x000003f1u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01B20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01B20D00D;
-                    }
-                    break;
-                }
-                case 0x000003f3u:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01J20D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01J20D00D00D;
-                    }
-                    break;
-                }
-                case 0x000003f9u:
-                {
-                    if (name == BuiltInName::packHalf2x16_10B)
-                    {
-                        return &BuiltInFunction::function_packHalf2x16_10B;
-                    }
-                    break;
-                }
-                case 0x00000406u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01Z20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01Z20D00E;
-                    }
-                    break;
-                }
-                case 0x0000041du:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01J20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01J20D00D;
-                    }
-                    break;
-                }
-                case 0x00000428u:
-                {
-                    if (name == BuiltInName::imageStore_01E20D30B)
-                    {
-                        return &BuiltInFunction::function_imageStore_01E20D30B;
-                    }
-                    break;
-                }
-                case 0x00000438u:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01V20D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01V20D00D00D;
-                    }
-                    break;
-                }
-                case 0x0000043au:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01J20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01J20D00E;
-                    }
-                    break;
-                }
-                case 0x0000043bu:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01J20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01J20D00D;
-                    }
-                    break;
-                }
-                case 0x0000043du:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01M00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01M00D00E;
-                    }
-                    break;
-                }
-                case 0x00000442u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_00z10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_00z10D00E;
-                    }
-                    break;
-                }
-                case 0x00000443u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_00z10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_00z10D00D;
-                    }
-                    break;
-                }
-                case 0x00000449u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01V20D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01V20D00D00E;
-                    }
-                    break;
-                }
-                case 0x0000044bu:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01a20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01a20D00E;
-                    }
-                    break;
-                }
-                case 0x00000453u:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01A10D00E00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01A10D00E00E;
-                    }
-                    break;
-                }
-                case 0x00000456u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01E20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01E20D00D;
-                    }
-                    break;
-                }
-                case 0x00000457u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01E20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01E20D00E;
-                    }
-                    break;
-                }
-                case 0x0000045eu:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_00z10D00E00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_00z10D00E00E;
-                    }
-                    break;
-                }
-                case 0x0000045fu:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01D20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01D20D00E;
-                    }
-                    break;
-                }
-                case 0x00000466u:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01V20D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01V20D00D00D;
-                    }
-                    break;
-                }
-                case 0x00000469u:
-                {
-                    if (name == BuiltInName::imageStore_01S10D00D30E)
-                    {
-                        return &BuiltInFunction::function_imageStore_01S10D00D30E;
-                    }
-                    break;
-                }
-                case 0x0000046cu:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01Q10D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01Q10D00D00D;
-                    }
-                    break;
-                }
-                case 0x0000046du:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01Q10D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01Q10D00D00E;
-                    }
-                    break;
-                }
-                case 0x00000472u:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01H20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01H20D00D;
-                    }
-                    break;
-                }
-                case 0x00000473u:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01A10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01A10D00D;
-                    }
-                    break;
-                }
-                case 0x00000474u:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01A10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01A10D00E;
-                    }
-                    break;
-                }
-                case 0x00000475u:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01C20D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01C20D00D00D;
-                    }
-                    break;
-                }
-                case 0x00000477u:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01W10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01W10D00D;
-                    }
-                    break;
-                }
-                case 0x00000478u:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01W10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01W10D00E;
-                    }
-                    break;
-                }
-                case 0x00000483u:
-                {
-                    if (name == BuiltInName::imageLoad_01a20D)
-                    {
-                        return &BuiltInFunction::function_imageLoad_01a20D;
-                    }
-                    break;
-                }
-                case 0x00000484u:
-                {
-                    if (name == BuiltInName::memoryBarrier_)
-                    {
-                        return &BuiltInFunction::function_memoryBarrier_;
-                    }
-                    break;
-                }
-                case 0x00000489u:
-                {
-                    if (name == BuiltInName::imageAtomicXor_00z10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_00z10D00D;
-                    }
-                    break;
-                }
-                case 0x0000048fu:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01O10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01O10D00E;
-                    }
-                    break;
-                }
-                case 0x00000490u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01O10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01O10D00D;
-                    }
-                    break;
-                }
-                case 0x0000049bu:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01R10D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01R10D00D00E;
-                    }
-                    break;
-                }
-                case 0x0000049fu:
-                {
-                    if (name == BuiltInName::imageAtomicXor_00y10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_00y10D00E;
-                    }
-                    break;
-                }
-                case 0x000004a0u:
-                {
-                    if (name == BuiltInName::imageAtomicXor_00y10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_00y10D00D;
-                    }
-                    break;
-                }
-                case 0x000004a3u:
-                {
-                    if (name == BuiltInName::imageStore_01D20D30E)
-                    {
-                        return &BuiltInFunction::function_imageStore_01D20D30E;
-                    }
-                    break;
-                }
-                case 0x000004a5u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01I20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01I20D00E;
-                    }
-                    break;
-                }
-                case 0x000004b7u:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01K00D00E00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01K00D00E00E;
-                    }
-                    break;
-                }
-                case 0x000004b9u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01V20D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01V20D00D00D;
-                    }
-                    break;
-                }
-                case 0x000004bau:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01V20D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01V20D00D00E;
-                    }
-                    break;
-                }
-                case 0x000004bbu:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01P10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01P10D00D;
-                    }
-                    break;
-                }
-                case 0x000004bcu:
-                {
-                    if (name == BuiltInName::imageLoad_01L00D)
-                    {
-                        return &BuiltInFunction::function_imageLoad_01L00D;
-                    }
-                    break;
-                }
-                case 0x000004bfu:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01P10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01P10D00E;
-                    }
-                    break;
-                }
-                case 0x000004c0u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01a20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01a20D00D;
-                    }
-                    break;
-                }
-                case 0x000004c1u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01S10D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01S10D00D00E;
-                    }
-                    break;
-                }
-                case 0x000004c2u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01S10D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01S10D00D00D;
-                    }
-                    break;
-                }
-                case 0x000004c3u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01a20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01a20D00E;
-                    }
-                    break;
-                }
-                case 0x000004c6u:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01I20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01I20D00D;
-                    }
-                    break;
-                }
-                case 0x000004c7u:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01I20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01I20D00E;
-                    }
-                    break;
-                }
-                case 0x000004d4u:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01S10D00D00E00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01S10D00D00E00E;
-                    }
-                    break;
-                }
-                case 0x000004d8u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_00y10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_00y10D00D;
-                    }
-                    break;
-                }
-                case 0x000004d9u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_00y10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_00y10D00E;
-                    }
-                    break;
-                }
-                case 0x000004ecu:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01M00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01M00D00D;
-                    }
-                    break;
-                }
-                case 0x000004edu:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01M00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01M00D00E;
-                    }
-                    break;
-                }
-                case 0x000004efu:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01O10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01O10D00E;
-                    }
-                    break;
-                }
-                case 0x000004f0u:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01O10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01O10D00D;
-                    }
-                    break;
-                }
-                case 0x000004f1u:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01B20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01B20D00E;
-                    }
-                    break;
-                }
-                case 0x000004f2u:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01B20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01B20D00D;
-                    }
-                    break;
-                }
-                case 0x000004f4u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01X10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01X10D00D;
-                    }
-                    break;
-                }
-                case 0x000004f8u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01E20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01E20D00E;
-                    }
-                    break;
-                }
-                case 0x000004f9u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01E20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01E20D00D;
-                    }
-                    break;
-                }
-                case 0x000004fdu:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01f00D00E00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01f00D00E00E;
-                    }
-                    break;
-                }
-                case 0x000004feu:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01A10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01A10D00E;
-                    }
-                    break;
-                }
-                case 0x00000500u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01A10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01A10D00D;
-                    }
-                    break;
-                }
-                case 0x00000501u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01K00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01K00D00D;
-                    }
-                    break;
-                }
-                case 0x00000502u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01K00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01K00D00E;
-                    }
-                    break;
-                }
-                case 0x00000505u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01R10D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01R10D00D00E;
-                    }
-                    break;
-                }
-                case 0x0000050au:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01D20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01D20D00D;
-                    }
-                    break;
-                }
-                case 0x00000512u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01K00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01K00D00E;
-                    }
-                    break;
-                }
-                case 0x00000513u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01K00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01K00D00D;
-                    }
-                    break;
-                }
-                case 0x00000518u:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_00y10D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_00y10D00D00D;
-                    }
-                    break;
-                }
-                case 0x0000051du:
-                {
-                    if (name == BuiltInName::imageStore_01G20D30E)
-                    {
-                        return &BuiltInFunction::function_imageStore_01G20D30E;
-                    }
-                    break;
-                }
-                case 0x00000523u:
-                {
-                    if (name == BuiltInName::imageStore_01X10D30D)
-                    {
-                        return &BuiltInFunction::function_imageStore_01X10D30D;
-                    }
-                    break;
-                }
-                case 0x0000053eu:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01L00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01L00D00D;
-                    }
-                    break;
-                }
-                case 0x0000053fu:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01W10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01W10D00D;
-                    }
-                    break;
-                }
-                case 0x00000540u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01W10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01W10D00E;
-                    }
-                    break;
-                }
-                case 0x00000551u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01B20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01B20D00E;
-                    }
-                    break;
-                }
-                case 0x00000558u:
-                {
-                    if (name == BuiltInName::imageStore_01P10D30E)
-                    {
-                        return &BuiltInFunction::function_imageStore_01P10D30E;
-                    }
-                    break;
-                }
-                case 0x0000055du:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01D20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01D20D00E;
-                    }
-                    break;
-                }
-                case 0x0000055fu:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01D20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01D20D00D;
-                    }
-                    break;
-                }
-                case 0x00000562u:
-                {
-                    if (name == BuiltInName::imageStore_01F20D30D)
-                    {
-                        return &BuiltInFunction::function_imageStore_01F20D30D;
-                    }
-                    break;
-                }
-                case 0x0000056du:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01h00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01h00D00E;
-                    }
-                    break;
-                }
-                case 0x0000056eu:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01h00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01h00D00D;
-                    }
-                    break;
-                }
-                case 0x00000575u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01J20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01J20D00E;
-                    }
-                    break;
-                }
-                case 0x00000576u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01J20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01J20D00D;
-                    }
-                    break;
-                }
-                case 0x00000577u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01F20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01F20D00E;
-                    }
-                    break;
-                }
-                case 0x00000578u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01F20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01F20D00D;
-                    }
-                    break;
-                }
-                case 0x0000057cu:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_00z10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_00z10D00E;
-                    }
-                    break;
-                }
-                case 0x0000057du:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_00z10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_00z10D00D;
-                    }
-                    break;
-                }
-                case 0x00000580u:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01K00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01K00D00E;
-                    }
-                    break;
-                }
-                case 0x00000585u:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01V20D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01V20D00D00E;
-                    }
-                    break;
-                }
-                case 0x00000586u:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01V20D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01V20D00D00D;
-                    }
-                    break;
-                }
-                case 0x00000589u:
-                {
-                    if (name == BuiltInName::imageLoad_01f00D)
-                    {
-                        return &BuiltInFunction::function_imageLoad_01f00D;
-                    }
-                    break;
-                }
-                case 0x0000059cu:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01X10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01X10D00E;
-                    }
-                    break;
-                }
-                case 0x0000059du:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01X10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01X10D00D;
-                    }
-                    break;
-                }
-                case 0x0000059eu:
-                {
-                    if (name == BuiltInName::imageStore_01Z20D30B)
-                    {
-                        return &BuiltInFunction::function_imageStore_01Z20D30B;
-                    }
-                    break;
-                }
-                case 0x000005b3u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01g00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01g00D00D;
-                    }
-                    break;
-                }
-                case 0x000005b4u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01g00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01g00D00E;
-                    }
-                    break;
-                }
-                case 0x000005b7u:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01L00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01L00D00E;
-                    }
-                    break;
-                }
-                case 0x000005b9u:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01U20D00D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01U20D00D00D00D;
-                    }
-                    break;
-                }
-                case 0x000005c2u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01I20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01I20D00D;
-                    }
-                    break;
-                }
-                case 0x000005c3u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01I20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01I20D00E;
-                    }
-                    break;
-                }
-                case 0x000005cbu:
-                {
-                    if (name == BuiltInName::imageLoad_01J20D)
-                    {
-                        return &BuiltInFunction::function_imageLoad_01J20D;
-                    }
-                    break;
-                }
-                case 0x000005cfu:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01M00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01M00D00E;
-                    }
-                    break;
-                }
-                case 0x000005d0u:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01M00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01M00D00D;
-                    }
-                    break;
-                }
-                case 0x000005d3u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01N10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01N10D00D;
-                    }
-                    break;
-                }
-                case 0x000005deu:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01a20D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01a20D00D00D;
-                    }
-                    break;
-                }
-                case 0x000005e9u:
-                {
-                    if (name == BuiltInName::imageStore_01I20D30D)
-                    {
-                        return &BuiltInFunction::function_imageStore_01I20D30D;
-                    }
-                    break;
-                }
-                case 0x000005f1u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01h00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01h00D00E;
-                    }
-                    break;
-                }
-                case 0x000005f2u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01h00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01h00D00D;
-                    }
-                    break;
-                }
-                case 0x000005f5u:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01A10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01A10D00E;
-                    }
-                    break;
-                }
-                case 0x000005f6u:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01A10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01A10D00D;
-                    }
-                    break;
-                }
-                case 0x000005fau:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01N10D00E00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01N10D00E00E;
-                    }
-                    break;
-                }
-                case 0x00000600u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01a20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01a20D00E;
-                    }
-                    break;
-                }
-                case 0x00000604u:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01Z20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01Z20D00D;
-                    }
-                    break;
-                }
-                case 0x00000605u:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01Z20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01Z20D00E;
-                    }
-                    break;
-                }
-                case 0x0000060du:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01C20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01C20D00E;
-                    }
-                    break;
-                }
-                case 0x0000060fu:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01Y10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01Y10D00D;
-                    }
-                    break;
-                }
-                case 0x00000610u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01Y10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01Y10D00E;
-                    }
-                    break;
-                }
-                case 0x00000612u:
-                {
-                    if (name == BuiltInName::imageLoad_01M00D)
-                    {
-                        return &BuiltInFunction::function_imageLoad_01M00D;
-                    }
-                    break;
-                }
-                case 0x00000613u:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01L00D00E00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01L00D00E00E;
-                    }
-                    break;
-                }
-                case 0x0000061au:
-                {
-                    if (name == BuiltInName::imageAtomicMin_00z10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_00z10D00E;
-                    }
-                    break;
-                }
-                case 0x0000061bu:
-                {
-                    if (name == BuiltInName::imageAtomicMin_00z10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_00z10D00D;
-                    }
-                    break;
-                }
-                case 0x00000620u:
-                {
-                    if (name == BuiltInName::imageLoad_01Q10D00D)
-                    {
-                        return &BuiltInFunction::function_imageLoad_01Q10D00D;
-                    }
-                    break;
-                }
-                case 0x0000062au:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01f00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01f00D00D;
-                    }
-                    break;
-                }
-                case 0x0000062bu:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01f00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01f00D00E;
-                    }
-                    break;
-                }
-                case 0x0000062cu:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01g00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01g00D00E;
-                    }
-                    break;
-                }
-                case 0x0000063cu:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01B20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01B20D00D;
-                    }
-                    break;
-                }
-                case 0x00000645u:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01E20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01E20D00D;
-                    }
-                    break;
-                }
-                case 0x00000646u:
-                {
-                    if (name == BuiltInName::imageAtomicMin_01E20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMin_01E20D00E;
-                    }
-                    break;
-                }
-                case 0x0000064bu:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01L00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01L00D00E;
-                    }
-                    break;
-                }
-                case 0x0000064cu:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01O10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01O10D00D;
-                    }
-                    break;
-                }
-                case 0x0000064du:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01O10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01O10D00E;
-                    }
-                    break;
-                }
-                case 0x00000650u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01O10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01O10D00E;
-                    }
-                    break;
-                }
-                case 0x00000651u:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01O10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01O10D00D;
-                    }
-                    break;
-                }
-                case 0x00000652u:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01b20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01b20D00D;
-                    }
-                    break;
-                }
-                case 0x0000065au:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01U20D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01U20D00D00E;
-                    }
-                    break;
-                }
-                case 0x0000065eu:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01U20D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01U20D00D00D;
-                    }
-                    break;
-                }
-                case 0x00000660u:
-                {
-                    if (name == BuiltInName::imageStore_01H20D30B)
-                    {
-                        return &BuiltInFunction::function_imageStore_01H20D30B;
-                    }
-                    break;
-                }
-                case 0x00000668u:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01L00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01L00D00E;
-                    }
-                    break;
-                }
-                case 0x0000066cu:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_00y10D00E00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_00y10D00E00E;
-                    }
-                    break;
-                }
-                case 0x0000067au:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01G20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01G20D00D;
-                    }
-                    break;
-                }
-                case 0x0000067bu:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01G20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01G20D00E;
-                    }
-                    break;
-                }
-                case 0x0000067du:
-                {
-                    if (name == BuiltInName::imageStore_01R10D00D30D)
-                    {
-                        return &BuiltInFunction::function_imageStore_01R10D00D30D;
-                    }
-                    break;
-                }
-                case 0x00000684u:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01G20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01G20D00D;
-                    }
-                    break;
-                }
-                case 0x00000685u:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01G20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01G20D00E;
-                    }
-                    break;
-                }
-                case 0x00000686u:
-                {
-                    if (name == BuiltInName::imageLoad_01Y10D)
-                    {
-                        return &BuiltInFunction::function_imageLoad_01Y10D;
-                    }
-                    break;
-                }
-                case 0x00000687u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01g00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01g00D00D;
-                    }
-                    break;
-                }
-                case 0x00000688u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01g00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01g00D00E;
-                    }
-                    break;
-                }
-                case 0x0000068cu:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01a20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01a20D00E;
-                    }
-                    break;
-                }
-                case 0x00000696u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01P10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01P10D00E;
-                    }
-                    break;
-                }
-                case 0x00000697u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01P10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01P10D00D;
-                    }
-                    break;
-                }
-                case 0x0000069cu:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_00y10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_00y10D00D;
-                    }
-                    break;
-                }
-                case 0x0000069du:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01Q10D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01Q10D00D00E;
-                    }
-                    break;
-                }
-                case 0x0000069eu:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01Q10D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01Q10D00D00D;
-                    }
-                    break;
-                }
-                case 0x0000069fu:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01L00D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01L00D00D00D;
-                    }
-                    break;
-                }
-                case 0x000006a8u:
-                {
-                    if (name == BuiltInName::imageLoad_01N10D)
-                    {
-                        return &BuiltInFunction::function_imageLoad_01N10D;
-                    }
-                    break;
-                }
-                case 0x000006aau:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01Z20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01Z20D00E;
-                    }
-                    break;
-                }
-                case 0x000006abu:
-                {
-                    if (name == BuiltInName::imageAtomicOr_01Z20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicOr_01Z20D00D;
-                    }
-                    break;
-                }
-                case 0x000006adu:
-                {
-                    if (name == BuiltInName::atomicCounterIncrement_00G)
-                    {
-                        return &BuiltInFunction::function_atomicCounterIncrement_00G;
-                    }
-                    break;
-                }
-                case 0x000006aeu:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01J20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01J20D00D;
-                    }
-                    break;
-                }
-                case 0x000006afu:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01J20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01J20D00E;
-                    }
-                    break;
-                }
-                case 0x000006b0u:
-                {
-                    if (name == BuiltInName::imageAtomicCompSwap_01S10D00D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicCompSwap_01S10D00D00D00D;
-                    }
-                    break;
-                }
-                case 0x000006b1u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01W10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01W10D00E;
-                    }
-                    break;
-                }
-                case 0x000006b3u:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01U20D00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01U20D00D00D;
-                    }
-                    break;
-                }
-                case 0x000006b4u:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01U20D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01U20D00D00E;
-                    }
-                    break;
-                }
-                case 0x000006b8u:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01Y10D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01Y10D00E;
-                    }
-                    break;
-                }
-                case 0x000006b9u:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01Y10D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01Y10D00D;
-                    }
-                    break;
-                }
-                case 0x000006bdu:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01D20D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01D20D00D;
-                    }
-                    break;
-                }
-                case 0x000006beu:
-                {
-                    if (name == BuiltInName::imageAtomicXor_01D20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicXor_01D20D00E;
-                    }
-                    break;
-                }
-                case 0x000006c5u:
-                {
-                    if (name == BuiltInName::imageAtomicAnd_01B20D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAnd_01B20D00E;
-                    }
-                    break;
-                }
-                case 0x000006c6u:
-                {
-                    if (name == BuiltInName::imageAtomicAdd_01S10D00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicAdd_01S10D00D00E;
-                    }
-                    break;
-                }
-                case 0x000006c9u:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01f00D00E)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01f00D00E;
-                    }
-                    break;
-                }
-                case 0x000006cau:
-                {
-                    if (name == BuiltInName::imageAtomicMax_01f00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicMax_01f00D00D;
-                    }
-                    break;
-                }
-                case 0x000006e6u:
-                {
-                    if (name == BuiltInName::imageLoad_01A10D)
-                    {
-                        return &BuiltInFunction::function_imageLoad_01A10D;
-                    }
-                    break;
-                }
-                case 0x000006eau:
+                case 0x0000034bu:
                 {
                     if (name == BuiltInName::imageAtomicCompSwap_01T20D00D00D00D)
                     {
@@ -39429,7 +37636,1783 @@
                     }
                     break;
                 }
-                case 0x000006ecu:
+                case 0x0000034eu:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01W10D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01W10D00D00D;
+                    }
+                    break;
+                }
+                case 0x00000350u:
+                {
+                    if (name == BuiltInName::imageLoad_01T20D00D)
+                    {
+                        return &BuiltInFunction::function_imageLoad_01T20D00D;
+                    }
+                    break;
+                }
+                case 0x00000352u:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01W10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01W10D00E;
+                    }
+                    break;
+                }
+                case 0x00000355u:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01g00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01g00D00D;
+                    }
+                    break;
+                }
+                case 0x00000358u:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01R10D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01R10D00D00D;
+                    }
+                    break;
+                }
+                case 0x00000359u:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01T20D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01T20D00D00E;
+                    }
+                    break;
+                }
+                case 0x0000035bu:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01a20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01a20D00D;
+                    }
+                    break;
+                }
+                case 0x00000366u:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01L00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01L00D00D;
+                    }
+                    break;
+                }
+                case 0x0000036du:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01H20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01H20D00E;
+                    }
+                    break;
+                }
+                case 0x0000036eu:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01H20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01H20D00D;
+                    }
+                    break;
+                }
+                case 0x0000036fu:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01O10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01O10D00E;
+                    }
+                    break;
+                }
+                case 0x00000370u:
+                {
+                    if (name == BuiltInName::imageStore_01h00D30E)
+                    {
+                        return &BuiltInFunction::function_imageStore_01h00D30E;
+                    }
+                    break;
+                }
+                case 0x0000037au:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01F20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01F20D00D;
+                    }
+                    break;
+                }
+                case 0x0000037fu:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01P10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01P10D00E;
+                    }
+                    break;
+                }
+                case 0x00000380u:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01C20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01C20D00E;
+                    }
+                    break;
+                }
+                case 0x00000382u:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01b20D00E00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01b20D00E00E;
+                    }
+                    break;
+                }
+                case 0x00000385u:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01B20D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01B20D00D00D;
+                    }
+                    break;
+                }
+                case 0x00000386u:
+                {
+                    if (name == BuiltInName::imageLoad_00z10D)
+                    {
+                        return &BuiltInFunction::function_imageLoad_00z10D;
+                    }
+                    break;
+                }
+                case 0x00000396u:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01G20D00E00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01G20D00E00E;
+                    }
+                    break;
+                }
+                case 0x00000399u:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01Q10D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01Q10D00D00E;
+                    }
+                    break;
+                }
+                case 0x0000039cu:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01R10D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01R10D00D00D;
+                    }
+                    break;
+                }
+                case 0x0000039du:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01R10D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01R10D00D00E;
+                    }
+                    break;
+                }
+                case 0x0000039eu:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01E20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01E20D00D;
+                    }
+                    break;
+                }
+                case 0x0000039fu:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01E20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01E20D00E;
+                    }
+                    break;
+                }
+                case 0x000003a6u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01K00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01K00D00D;
+                    }
+                    break;
+                }
+                case 0x000003aeu:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01W10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01W10D00E;
+                    }
+                    break;
+                }
+                case 0x000003afu:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01W10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01W10D00D;
+                    }
+                    break;
+                }
+                case 0x000003b7u:
+                {
+                    if (name == BuiltInName::packSnorm2x16_10B)
+                    {
+                        return &BuiltInFunction::function_packSnorm2x16_10B;
+                    }
+                    break;
+                }
+                case 0x000003b9u:
+                {
+                    if (name == BuiltInName::imageLoad_00y10D)
+                    {
+                        return &BuiltInFunction::function_imageLoad_00y10D;
+                    }
+                    break;
+                }
+                case 0x000003bfu:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01Q10D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01Q10D00D00D;
+                    }
+                    break;
+                }
+                case 0x000003c2u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01T20D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01T20D00D00D;
+                    }
+                    break;
+                }
+                case 0x000003c3u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01T20D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01T20D00D00E;
+                    }
+                    break;
+                }
+                case 0x000003c5u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01D20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01D20D00E;
+                    }
+                    break;
+                }
+                case 0x000003c8u:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01O10D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01O10D00D00D;
+                    }
+                    break;
+                }
+                case 0x000003c9u:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01g00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01g00D00E;
+                    }
+                    break;
+                }
+                case 0x000003d1u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01B20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01B20D00D;
+                    }
+                    break;
+                }
+                case 0x000003d3u:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01g00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01g00D00E;
+                    }
+                    break;
+                }
+                case 0x000003dbu:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01R10D00D00E00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01R10D00D00E00E;
+                    }
+                    break;
+                }
+                case 0x000003e4u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01h00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01h00D00D;
+                    }
+                    break;
+                }
+                case 0x000003e6u:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01G20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01G20D00E;
+                    }
+                    break;
+                }
+                case 0x000003e7u:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01G20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01G20D00D;
+                    }
+                    break;
+                }
+                case 0x000003ecu:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01N10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01N10D00E;
+                    }
+                    break;
+                }
+                case 0x000003edu:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01N10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01N10D00D;
+                    }
+                    break;
+                }
+                case 0x000003f0u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01h00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01h00D00E;
+                    }
+                    break;
+                }
+                case 0x000003f2u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01B20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01B20D00E;
+                    }
+                    break;
+                }
+                case 0x000003f3u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01B20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01B20D00D;
+                    }
+                    break;
+                }
+                case 0x000003f5u:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01J20D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01J20D00D00D;
+                    }
+                    break;
+                }
+                case 0x000003fbu:
+                {
+                    if (name == BuiltInName::packHalf2x16_10B)
+                    {
+                        return &BuiltInFunction::function_packHalf2x16_10B;
+                    }
+                    break;
+                }
+                case 0x00000408u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01Z20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01Z20D00E;
+                    }
+                    break;
+                }
+                case 0x0000041fu:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01J20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01J20D00D;
+                    }
+                    break;
+                }
+                case 0x0000042au:
+                {
+                    if (name == BuiltInName::imageStore_01E20D30B)
+                    {
+                        return &BuiltInFunction::function_imageStore_01E20D30B;
+                    }
+                    break;
+                }
+                case 0x0000043au:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01V20D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01V20D00D00D;
+                    }
+                    break;
+                }
+                case 0x0000043cu:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01J20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01J20D00E;
+                    }
+                    break;
+                }
+                case 0x0000043du:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01J20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01J20D00D;
+                    }
+                    break;
+                }
+                case 0x0000043fu:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01M00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01M00D00E;
+                    }
+                    break;
+                }
+                case 0x00000445u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_00z10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_00z10D00E;
+                    }
+                    break;
+                }
+                case 0x00000446u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_00z10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_00z10D00D;
+                    }
+                    break;
+                }
+                case 0x0000044cu:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01V20D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01V20D00D00E;
+                    }
+                    break;
+                }
+                case 0x0000044eu:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01a20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01a20D00E;
+                    }
+                    break;
+                }
+                case 0x00000456u:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01A10D00E00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01A10D00E00E;
+                    }
+                    break;
+                }
+                case 0x00000459u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01E20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01E20D00D;
+                    }
+                    break;
+                }
+                case 0x0000045au:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01E20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01E20D00E;
+                    }
+                    break;
+                }
+                case 0x00000461u:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_00z10D00E00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_00z10D00E00E;
+                    }
+                    break;
+                }
+                case 0x00000462u:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01D20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01D20D00E;
+                    }
+                    break;
+                }
+                case 0x00000469u:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01V20D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01V20D00D00D;
+                    }
+                    break;
+                }
+                case 0x0000046cu:
+                {
+                    if (name == BuiltInName::imageStore_01S10D00D30E)
+                    {
+                        return &BuiltInFunction::function_imageStore_01S10D00D30E;
+                    }
+                    break;
+                }
+                case 0x0000046fu:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01Q10D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01Q10D00D00D;
+                    }
+                    break;
+                }
+                case 0x00000470u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01Q10D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01Q10D00D00E;
+                    }
+                    break;
+                }
+                case 0x00000475u:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01H20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01H20D00D;
+                    }
+                    break;
+                }
+                case 0x00000476u:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01A10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01A10D00D;
+                    }
+                    break;
+                }
+                case 0x00000477u:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01A10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01A10D00E;
+                    }
+                    break;
+                }
+                case 0x00000478u:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01C20D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01C20D00D00D;
+                    }
+                    break;
+                }
+                case 0x0000047au:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01W10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01W10D00D;
+                    }
+                    break;
+                }
+                case 0x0000047bu:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01W10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01W10D00E;
+                    }
+                    break;
+                }
+                case 0x00000486u:
+                {
+                    if (name == BuiltInName::imageLoad_01a20D)
+                    {
+                        return &BuiltInFunction::function_imageLoad_01a20D;
+                    }
+                    break;
+                }
+                case 0x00000487u:
+                {
+                    if (name == BuiltInName::memoryBarrier_)
+                    {
+                        return &BuiltInFunction::function_memoryBarrier_;
+                    }
+                    break;
+                }
+                case 0x0000048cu:
+                {
+                    if (name == BuiltInName::imageAtomicXor_00z10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_00z10D00D;
+                    }
+                    break;
+                }
+                case 0x00000492u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01O10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01O10D00E;
+                    }
+                    break;
+                }
+                case 0x00000493u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01O10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01O10D00D;
+                    }
+                    break;
+                }
+                case 0x0000049eu:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01R10D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01R10D00D00E;
+                    }
+                    break;
+                }
+                case 0x000004a2u:
+                {
+                    if (name == BuiltInName::imageAtomicXor_00y10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_00y10D00E;
+                    }
+                    break;
+                }
+                case 0x000004a3u:
+                {
+                    if (name == BuiltInName::imageAtomicXor_00y10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_00y10D00D;
+                    }
+                    break;
+                }
+                case 0x000004a6u:
+                {
+                    if (name == BuiltInName::imageStore_01D20D30E)
+                    {
+                        return &BuiltInFunction::function_imageStore_01D20D30E;
+                    }
+                    break;
+                }
+                case 0x000004a8u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01I20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01I20D00E;
+                    }
+                    break;
+                }
+                case 0x000004bau:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01K00D00E00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01K00D00E00E;
+                    }
+                    break;
+                }
+                case 0x000004bcu:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01V20D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01V20D00D00D;
+                    }
+                    break;
+                }
+                case 0x000004bdu:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01V20D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01V20D00D00E;
+                    }
+                    break;
+                }
+                case 0x000004beu:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01P10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01P10D00D;
+                    }
+                    break;
+                }
+                case 0x000004bfu:
+                {
+                    if (name == BuiltInName::imageLoad_01L00D)
+                    {
+                        return &BuiltInFunction::function_imageLoad_01L00D;
+                    }
+                    break;
+                }
+                case 0x000004c2u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01P10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01P10D00E;
+                    }
+                    break;
+                }
+                case 0x000004c3u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01a20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01a20D00D;
+                    }
+                    break;
+                }
+                case 0x000004c4u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01S10D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01S10D00D00E;
+                    }
+                    break;
+                }
+                case 0x000004c5u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01S10D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01S10D00D00D;
+                    }
+                    break;
+                }
+                case 0x000004c6u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01a20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01a20D00E;
+                    }
+                    break;
+                }
+                case 0x000004c9u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01I20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01I20D00D;
+                    }
+                    break;
+                }
+                case 0x000004cau:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01I20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01I20D00E;
+                    }
+                    break;
+                }
+                case 0x000004d7u:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01S10D00D00E00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01S10D00D00E00E;
+                    }
+                    break;
+                }
+                case 0x000004dbu:
+                {
+                    if (name == BuiltInName::imageAtomicMax_00y10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_00y10D00D;
+                    }
+                    break;
+                }
+                case 0x000004dcu:
+                {
+                    if (name == BuiltInName::imageAtomicMax_00y10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_00y10D00E;
+                    }
+                    break;
+                }
+                case 0x000004efu:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01M00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01M00D00D;
+                    }
+                    break;
+                }
+                case 0x000004f0u:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01M00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01M00D00E;
+                    }
+                    break;
+                }
+                case 0x000004f2u:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01O10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01O10D00E;
+                    }
+                    break;
+                }
+                case 0x000004f3u:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01O10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01O10D00D;
+                    }
+                    break;
+                }
+                case 0x000004f4u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01B20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01B20D00E;
+                    }
+                    break;
+                }
+                case 0x000004f5u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01B20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01B20D00D;
+                    }
+                    break;
+                }
+                case 0x000004f7u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01X10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01X10D00D;
+                    }
+                    break;
+                }
+                case 0x000004fbu:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01E20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01E20D00E;
+                    }
+                    break;
+                }
+                case 0x000004fcu:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01E20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01E20D00D;
+                    }
+                    break;
+                }
+                case 0x00000500u:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01f00D00E00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01f00D00E00E;
+                    }
+                    break;
+                }
+                case 0x00000501u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01A10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01A10D00E;
+                    }
+                    break;
+                }
+                case 0x00000503u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01A10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01A10D00D;
+                    }
+                    break;
+                }
+                case 0x00000504u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01K00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01K00D00D;
+                    }
+                    break;
+                }
+                case 0x00000505u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01K00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01K00D00E;
+                    }
+                    break;
+                }
+                case 0x00000508u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01R10D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01R10D00D00E;
+                    }
+                    break;
+                }
+                case 0x0000050du:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01D20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01D20D00D;
+                    }
+                    break;
+                }
+                case 0x00000515u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01K00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01K00D00E;
+                    }
+                    break;
+                }
+                case 0x00000516u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01K00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01K00D00D;
+                    }
+                    break;
+                }
+                case 0x0000051bu:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_00y10D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_00y10D00D00D;
+                    }
+                    break;
+                }
+                case 0x00000520u:
+                {
+                    if (name == BuiltInName::imageStore_01G20D30E)
+                    {
+                        return &BuiltInFunction::function_imageStore_01G20D30E;
+                    }
+                    break;
+                }
+                case 0x00000526u:
+                {
+                    if (name == BuiltInName::imageStore_01X10D30D)
+                    {
+                        return &BuiltInFunction::function_imageStore_01X10D30D;
+                    }
+                    break;
+                }
+                case 0x00000541u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01L00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01L00D00D;
+                    }
+                    break;
+                }
+                case 0x00000542u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01W10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01W10D00D;
+                    }
+                    break;
+                }
+                case 0x00000543u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01W10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01W10D00E;
+                    }
+                    break;
+                }
+                case 0x00000554u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01B20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01B20D00E;
+                    }
+                    break;
+                }
+                case 0x0000055bu:
+                {
+                    if (name == BuiltInName::imageStore_01P10D30E)
+                    {
+                        return &BuiltInFunction::function_imageStore_01P10D30E;
+                    }
+                    break;
+                }
+                case 0x00000560u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01D20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01D20D00E;
+                    }
+                    break;
+                }
+                case 0x00000562u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01D20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01D20D00D;
+                    }
+                    break;
+                }
+                case 0x00000565u:
+                {
+                    if (name == BuiltInName::imageStore_01F20D30D)
+                    {
+                        return &BuiltInFunction::function_imageStore_01F20D30D;
+                    }
+                    break;
+                }
+                case 0x00000570u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01h00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01h00D00E;
+                    }
+                    break;
+                }
+                case 0x00000571u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01h00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01h00D00D;
+                    }
+                    break;
+                }
+                case 0x00000578u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01J20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01J20D00E;
+                    }
+                    break;
+                }
+                case 0x00000579u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01J20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01J20D00D;
+                    }
+                    break;
+                }
+                case 0x0000057au:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01F20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01F20D00E;
+                    }
+                    break;
+                }
+                case 0x0000057bu:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01F20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01F20D00D;
+                    }
+                    break;
+                }
+                case 0x0000057fu:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_00z10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_00z10D00E;
+                    }
+                    break;
+                }
+                case 0x00000580u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_00z10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_00z10D00D;
+                    }
+                    break;
+                }
+                case 0x00000583u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01K00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01K00D00E;
+                    }
+                    break;
+                }
+                case 0x00000588u:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01V20D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01V20D00D00E;
+                    }
+                    break;
+                }
+                case 0x00000589u:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01V20D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01V20D00D00D;
+                    }
+                    break;
+                }
+                case 0x0000058cu:
+                {
+                    if (name == BuiltInName::imageLoad_01f00D)
+                    {
+                        return &BuiltInFunction::function_imageLoad_01f00D;
+                    }
+                    break;
+                }
+                case 0x0000059eu:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01X10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01X10D00E;
+                    }
+                    break;
+                }
+                case 0x0000059fu:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01X10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01X10D00D;
+                    }
+                    break;
+                }
+                case 0x000005a0u:
+                {
+                    if (name == BuiltInName::imageStore_01Z20D30B)
+                    {
+                        return &BuiltInFunction::function_imageStore_01Z20D30B;
+                    }
+                    break;
+                }
+                case 0x000005b5u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01g00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01g00D00D;
+                    }
+                    break;
+                }
+                case 0x000005b6u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01g00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01g00D00E;
+                    }
+                    break;
+                }
+                case 0x000005b9u:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01L00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01L00D00E;
+                    }
+                    break;
+                }
+                case 0x000005bbu:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01U20D00D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01U20D00D00D00D;
+                    }
+                    break;
+                }
+                case 0x000005c4u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01I20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01I20D00D;
+                    }
+                    break;
+                }
+                case 0x000005c5u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01I20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01I20D00E;
+                    }
+                    break;
+                }
+                case 0x000005cdu:
+                {
+                    if (name == BuiltInName::imageLoad_01J20D)
+                    {
+                        return &BuiltInFunction::function_imageLoad_01J20D;
+                    }
+                    break;
+                }
+                case 0x000005d1u:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01M00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01M00D00E;
+                    }
+                    break;
+                }
+                case 0x000005d2u:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01M00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01M00D00D;
+                    }
+                    break;
+                }
+                case 0x000005d5u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01N10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01N10D00D;
+                    }
+                    break;
+                }
+                case 0x000005e0u:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01a20D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01a20D00D00D;
+                    }
+                    break;
+                }
+                case 0x000005ebu:
+                {
+                    if (name == BuiltInName::imageStore_01I20D30D)
+                    {
+                        return &BuiltInFunction::function_imageStore_01I20D30D;
+                    }
+                    break;
+                }
+                case 0x000005f3u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01h00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01h00D00E;
+                    }
+                    break;
+                }
+                case 0x000005f4u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01h00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01h00D00D;
+                    }
+                    break;
+                }
+                case 0x000005f7u:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01A10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01A10D00E;
+                    }
+                    break;
+                }
+                case 0x000005f8u:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01A10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01A10D00D;
+                    }
+                    break;
+                }
+                case 0x000005fcu:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01N10D00E00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01N10D00E00E;
+                    }
+                    break;
+                }
+                case 0x00000602u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01a20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01a20D00E;
+                    }
+                    break;
+                }
+                case 0x00000606u:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01Z20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01Z20D00D;
+                    }
+                    break;
+                }
+                case 0x00000607u:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01Z20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01Z20D00E;
+                    }
+                    break;
+                }
+                case 0x0000060fu:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01C20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01C20D00E;
+                    }
+                    break;
+                }
+                case 0x00000611u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01Y10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01Y10D00D;
+                    }
+                    break;
+                }
+                case 0x00000612u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01Y10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01Y10D00E;
+                    }
+                    break;
+                }
+                case 0x00000614u:
+                {
+                    if (name == BuiltInName::imageLoad_01M00D)
+                    {
+                        return &BuiltInFunction::function_imageLoad_01M00D;
+                    }
+                    break;
+                }
+                case 0x00000615u:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01L00D00E00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01L00D00E00E;
+                    }
+                    break;
+                }
+                case 0x0000061cu:
+                {
+                    if (name == BuiltInName::imageAtomicMin_00z10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_00z10D00E;
+                    }
+                    break;
+                }
+                case 0x0000061du:
+                {
+                    if (name == BuiltInName::imageAtomicMin_00z10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_00z10D00D;
+                    }
+                    break;
+                }
+                case 0x00000622u:
+                {
+                    if (name == BuiltInName::imageLoad_01Q10D00D)
+                    {
+                        return &BuiltInFunction::function_imageLoad_01Q10D00D;
+                    }
+                    break;
+                }
+                case 0x0000062cu:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01f00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01f00D00D;
+                    }
+                    break;
+                }
+                case 0x0000062du:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01f00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01f00D00E;
+                    }
+                    break;
+                }
+                case 0x0000062eu:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01g00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01g00D00E;
+                    }
+                    break;
+                }
+                case 0x0000063eu:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01B20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01B20D00D;
+                    }
+                    break;
+                }
+                case 0x00000647u:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01E20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01E20D00D;
+                    }
+                    break;
+                }
+                case 0x00000648u:
+                {
+                    if (name == BuiltInName::imageAtomicMin_01E20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMin_01E20D00E;
+                    }
+                    break;
+                }
+                case 0x0000064du:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01L00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01L00D00E;
+                    }
+                    break;
+                }
+                case 0x0000064eu:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01O10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01O10D00D;
+                    }
+                    break;
+                }
+                case 0x0000064fu:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01O10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01O10D00E;
+                    }
+                    break;
+                }
+                case 0x00000652u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01O10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01O10D00E;
+                    }
+                    break;
+                }
+                case 0x00000653u:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01O10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01O10D00D;
+                    }
+                    break;
+                }
+                case 0x00000654u:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01b20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01b20D00D;
+                    }
+                    break;
+                }
+                case 0x0000065cu:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01U20D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01U20D00D00E;
+                    }
+                    break;
+                }
+                case 0x00000660u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01U20D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01U20D00D00D;
+                    }
+                    break;
+                }
+                case 0x00000662u:
+                {
+                    if (name == BuiltInName::imageStore_01H20D30B)
+                    {
+                        return &BuiltInFunction::function_imageStore_01H20D30B;
+                    }
+                    break;
+                }
+                case 0x0000066au:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01L00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01L00D00E;
+                    }
+                    break;
+                }
+                case 0x0000066eu:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_00y10D00E00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_00y10D00E00E;
+                    }
+                    break;
+                }
+                case 0x0000067cu:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01G20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01G20D00D;
+                    }
+                    break;
+                }
+                case 0x0000067du:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01G20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01G20D00E;
+                    }
+                    break;
+                }
+                case 0x0000067fu:
+                {
+                    if (name == BuiltInName::imageStore_01R10D00D30D)
+                    {
+                        return &BuiltInFunction::function_imageStore_01R10D00D30D;
+                    }
+                    break;
+                }
+                case 0x00000686u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01G20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01G20D00D;
+                    }
+                    break;
+                }
+                case 0x00000687u:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01G20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01G20D00E;
+                    }
+                    break;
+                }
+                case 0x00000688u:
+                {
+                    if (name == BuiltInName::imageLoad_01Y10D)
+                    {
+                        return &BuiltInFunction::function_imageLoad_01Y10D;
+                    }
+                    break;
+                }
+                case 0x00000689u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01g00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01g00D00D;
+                    }
+                    break;
+                }
+                case 0x0000068au:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01g00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01g00D00E;
+                    }
+                    break;
+                }
+                case 0x0000068eu:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01a20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01a20D00E;
+                    }
+                    break;
+                }
+                case 0x00000698u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01P10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01P10D00E;
+                    }
+                    break;
+                }
+                case 0x00000699u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01P10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01P10D00D;
+                    }
+                    break;
+                }
+                case 0x0000069eu:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_00y10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_00y10D00D;
+                    }
+                    break;
+                }
+                case 0x0000069fu:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01Q10D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01Q10D00D00E;
+                    }
+                    break;
+                }
+                case 0x000006a0u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01Q10D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01Q10D00D00D;
+                    }
+                    break;
+                }
+                case 0x000006a1u:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01L00D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01L00D00D00D;
+                    }
+                    break;
+                }
+                case 0x000006aau:
+                {
+                    if (name == BuiltInName::imageLoad_01N10D)
+                    {
+                        return &BuiltInFunction::function_imageLoad_01N10D;
+                    }
+                    break;
+                }
+                case 0x000006acu:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01Z20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01Z20D00E;
+                    }
+                    break;
+                }
+                case 0x000006adu:
+                {
+                    if (name == BuiltInName::imageAtomicOr_01Z20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicOr_01Z20D00D;
+                    }
+                    break;
+                }
+                case 0x000006afu:
+                {
+                    if (name == BuiltInName::atomicCounterIncrement_00G)
+                    {
+                        return &BuiltInFunction::function_atomicCounterIncrement_00G;
+                    }
+                    break;
+                }
+                case 0x000006b0u:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01J20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01J20D00D;
+                    }
+                    break;
+                }
+                case 0x000006b1u:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01J20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01J20D00E;
+                    }
+                    break;
+                }
+                case 0x000006b2u:
+                {
+                    if (name == BuiltInName::imageAtomicCompSwap_01S10D00D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicCompSwap_01S10D00D00D00D;
+                    }
+                    break;
+                }
+                case 0x000006b3u:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01W10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01W10D00E;
+                    }
+                    break;
+                }
+                case 0x000006b5u:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01U20D00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01U20D00D00D;
+                    }
+                    break;
+                }
+                case 0x000006b6u:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01U20D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01U20D00D00E;
+                    }
+                    break;
+                }
+                case 0x000006bau:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01Y10D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01Y10D00E;
+                    }
+                    break;
+                }
+                case 0x000006bbu:
+                {
+                    if (name == BuiltInName::imageAtomicExchange_01Y10D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicExchange_01Y10D00D;
+                    }
+                    break;
+                }
+                case 0x000006bfu:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01D20D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01D20D00D;
+                    }
+                    break;
+                }
+                case 0x000006c0u:
+                {
+                    if (name == BuiltInName::imageAtomicXor_01D20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicXor_01D20D00E;
+                    }
+                    break;
+                }
+                case 0x000006c7u:
+                {
+                    if (name == BuiltInName::imageAtomicAnd_01B20D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAnd_01B20D00E;
+                    }
+                    break;
+                }
+                case 0x000006c8u:
+                {
+                    if (name == BuiltInName::imageAtomicAdd_01S10D00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicAdd_01S10D00D00E;
+                    }
+                    break;
+                }
+                case 0x000006cbu:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01f00D00E)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01f00D00E;
+                    }
+                    break;
+                }
+                case 0x000006ccu:
+                {
+                    if (name == BuiltInName::imageAtomicMax_01f00D00D)
+                    {
+                        return &BuiltInFunction::function_imageAtomicMax_01f00D00D;
+                    }
+                    break;
+                }
+                case 0x000006e8u:
+                {
+                    if (name == BuiltInName::imageLoad_01A10D)
+                    {
+                        return &BuiltInFunction::function_imageLoad_01A10D;
+                    }
+                    break;
+                }
+                case 0x000006edu:
                 {
                     if (name == BuiltInName::imageAtomicCompSwap_01H20D00E00E)
                     {
@@ -39437,7 +39420,7 @@
                     }
                     break;
                 }
-                case 0x000006edu:
+                case 0x000006eeu:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01H20D00E)
                     {
@@ -39445,7 +39428,7 @@
                     }
                     break;
                 }
-                case 0x000006eeu:
+                case 0x000006efu:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01H20D00D)
                     {
@@ -39453,7 +39436,7 @@
                     }
                     break;
                 }
-                case 0x000006f1u:
+                case 0x000006f2u:
                 {
                     if (name == BuiltInName::imageStore_01Q10D00D30B)
                     {
@@ -39461,7 +39444,7 @@
                     }
                     break;
                 }
-                case 0x000006f4u:
+                case 0x000006f5u:
                 {
                     if (name == BuiltInName::imageAtomicXor_01P10D00E)
                     {
@@ -39469,7 +39452,7 @@
                     }
                     break;
                 }
-                case 0x000006f5u:
+                case 0x000006f6u:
                 {
                     if (name == BuiltInName::imageAtomicOr_01I20D00D)
                     {
@@ -39477,7 +39460,7 @@
                     }
                     break;
                 }
-                case 0x000006f8u:
+                case 0x000006f9u:
                 {
                     if (name == BuiltInName::imageAtomicOr_01X10D00D)
                     {
@@ -39485,7 +39468,7 @@
                     }
                     break;
                 }
-                case 0x000006f9u:
+                case 0x000006fau:
                 {
                     if (name == BuiltInName::imageAtomicCompSwap_01Y10D00D00D)
                     {
@@ -39493,7 +39476,7 @@
                     }
                     break;
                 }
-                case 0x000006ffu:
+                case 0x00000700u:
                 {
                     if (name == BuiltInName::imageAtomicMin_01V20D00D00D)
                     {
@@ -39501,7 +39484,7 @@
                     }
                     break;
                 }
-                case 0x00000700u:
+                case 0x00000701u:
                 {
                     if (name == BuiltInName::imageAtomicMin_01V20D00D00E)
                     {
@@ -39509,7 +39492,7 @@
                     }
                     break;
                 }
-                case 0x00000705u:
+                case 0x00000706u:
                 {
                     if (name == BuiltInName::imageAtomicCompSwap_01U20D00D00E00E)
                     {
@@ -39517,7 +39500,7 @@
                     }
                     break;
                 }
-                case 0x00000713u:
+                case 0x00000714u:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01F20D00D)
                     {
@@ -39525,7 +39508,7 @@
                     }
                     break;
                 }
-                case 0x00000714u:
+                case 0x00000715u:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01F20D00E)
                     {
@@ -39533,7 +39516,7 @@
                     }
                     break;
                 }
-                case 0x0000071au:
+                case 0x0000071bu:
                 {
                     if (name == BuiltInName::imageAtomicCompSwap_01P10D00D00D)
                     {
@@ -39541,7 +39524,7 @@
                     }
                     break;
                 }
-                case 0x0000071du:
+                case 0x0000071eu:
                 {
                     if (name == BuiltInName::imageAtomicMin_01L00D00D)
                     {
@@ -39549,7 +39532,7 @@
                     }
                     break;
                 }
-                case 0x0000071eu:
+                case 0x0000071fu:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01g00D00D)
                     {
@@ -39557,7 +39540,7 @@
                     }
                     break;
                 }
-                case 0x00000723u:
+                case 0x00000724u:
                 {
                     if (name == BuiltInName::imageAtomicAnd_01N10D00E)
                     {
@@ -39565,7 +39548,7 @@
                     }
                     break;
                 }
-                case 0x00000725u:
+                case 0x00000726u:
                 {
                     if (name == BuiltInName::imageStore_00y10D30B)
                     {
@@ -39573,7 +39556,7 @@
                     }
                     break;
                 }
-                case 0x0000072bu:
+                case 0x0000072cu:
                 {
                     if (name == BuiltInName::imageAtomicAnd_01X10D00E)
                     {
@@ -39581,7 +39564,7 @@
                     }
                     break;
                 }
-                case 0x0000072du:
+                case 0x0000072eu:
                 {
                     if (name == BuiltInName::imageAtomicAnd_01X10D00D)
                     {
@@ -39589,7 +39572,7 @@
                     }
                     break;
                 }
-                case 0x00000734u:
+                case 0x00000735u:
                 {
                     if (name == BuiltInName::imageAtomicMin_01Z20D00E)
                     {
@@ -39597,7 +39580,7 @@
                     }
                     break;
                 }
-                case 0x00000735u:
+                case 0x00000736u:
                 {
                     if (name == BuiltInName::imageAtomicMin_01Z20D00D)
                     {
@@ -39605,7 +39588,7 @@
                     }
                     break;
                 }
-                case 0x00000736u:
+                case 0x00000737u:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01b20D00E)
                     {
@@ -39613,7 +39596,7 @@
                     }
                     break;
                 }
-                case 0x00000737u:
+                case 0x00000738u:
                 {
                     if (name == BuiltInName::imageAtomicMin_01a20D00E)
                     {
@@ -39621,7 +39604,7 @@
                     }
                     break;
                 }
-                case 0x0000073au:
+                case 0x0000073bu:
                 {
                     if (name == BuiltInName::imageAtomicMax_01T20D00D00D)
                     {
@@ -39629,7 +39612,7 @@
                     }
                     break;
                 }
-                case 0x0000073bu:
+                case 0x0000073cu:
                 {
                     if (name == BuiltInName::imageAtomicMax_01T20D00D00E)
                     {
@@ -39637,7 +39620,7 @@
                     }
                     break;
                 }
-                case 0x0000073cu:
+                case 0x0000073du:
                 {
                     if (name == BuiltInName::imageAtomicCompSwap_01g00D00D00D)
                     {
@@ -39645,7 +39628,7 @@
                     }
                     break;
                 }
-                case 0x00000742u:
+                case 0x00000743u:
                 {
                     if (name == BuiltInName::imageStore_01B20D30B)
                     {
@@ -39653,7 +39636,7 @@
                     }
                     break;
                 }
-                case 0x00000743u:
+                case 0x00000744u:
                 {
                     if (name == BuiltInName::imageLoad_01P10D)
                     {
@@ -39661,7 +39644,7 @@
                     }
                     break;
                 }
-                case 0x00000746u:
+                case 0x00000747u:
                 {
                     if (name == BuiltInName::imageAtomicAnd_01D20D00D)
                     {
@@ -39669,7 +39652,7 @@
                     }
                     break;
                 }
-                case 0x00000747u:
+                case 0x00000748u:
                 {
                     if (name == BuiltInName::imageAtomicAnd_01D20D00E)
                     {
@@ -39677,7 +39660,7 @@
                     }
                     break;
                 }
-                case 0x0000074au:
+                case 0x0000074bu:
                 {
                     if (name == BuiltInName::imageAtomicMin_01f00D00E)
                     {
@@ -39685,7 +39668,7 @@
                     }
                     break;
                 }
-                case 0x0000074bu:
+                case 0x0000074cu:
                 {
                     if (name == BuiltInName::imageAtomicMin_01f00D00D)
                     {
@@ -39693,7 +39676,7 @@
                     }
                     break;
                 }
-                case 0x0000074du:
+                case 0x0000074eu:
                 {
                     if (name == BuiltInName::imageAtomicOr_01U20D00D00E)
                     {
@@ -39701,7 +39684,7 @@
                     }
                     break;
                 }
-                case 0x0000074fu:
+                case 0x00000750u:
                 {
                     if (name == BuiltInName::imageAtomicXor_01K00D00D)
                     {
@@ -39709,7 +39692,7 @@
                     }
                     break;
                 }
-                case 0x00000756u:
+                case 0x00000757u:
                 {
                     if (name == BuiltInName::imageAtomicOr_01U20D00D00D)
                     {
@@ -39717,7 +39700,7 @@
                     }
                     break;
                 }
-                case 0x00000759u:
+                case 0x0000075au:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01f00D00D)
                     {
@@ -39725,7 +39708,7 @@
                     }
                     break;
                 }
-                case 0x0000075bu:
+                case 0x0000075cu:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01f00D00E)
                     {
@@ -39733,7 +39716,7 @@
                     }
                     break;
                 }
-                case 0x0000075du:
+                case 0x0000075eu:
                 {
                     if (name == BuiltInName::imageAtomicMin_01W10D00D)
                     {
@@ -39741,7 +39724,7 @@
                     }
                     break;
                 }
-                case 0x0000075eu:
+                case 0x0000075fu:
                 {
                     if (name == BuiltInName::imageAtomicXor_01K00D00E)
                     {
@@ -39749,7 +39732,7 @@
                     }
                     break;
                 }
-                case 0x0000075fu:
+                case 0x00000760u:
                 {
                     if (name == BuiltInName::imageLoad_01b20D)
                     {
@@ -39757,7 +39740,7 @@
                     }
                     break;
                 }
-                case 0x00000762u:
+                case 0x00000763u:
                 {
                     if (name == BuiltInName::imageLoad_01U20D00D)
                     {
@@ -39765,7 +39748,7 @@
                     }
                     break;
                 }
-                case 0x0000077bu:
+                case 0x0000077cu:
                 {
                     if (name == BuiltInName::imageAtomicMax_01V20D00D00D)
                     {
@@ -39773,7 +39756,7 @@
                     }
                     break;
                 }
-                case 0x00000785u:
+                case 0x00000786u:
                 {
                     if (name == BuiltInName::imageLoad_01R10D00D)
                     {
@@ -39781,7 +39764,7 @@
                     }
                     break;
                 }
-                case 0x00000786u:
+                case 0x00000787u:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01H20D00D)
                     {
@@ -39789,7 +39772,7 @@
                     }
                     break;
                 }
-                case 0x00000787u:
+                case 0x00000788u:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01H20D00E)
                     {
@@ -39797,7 +39780,7 @@
                     }
                     break;
                 }
-                case 0x0000079bu:
+                case 0x0000079cu:
                 {
                     if (name == BuiltInName::imageAtomicCompSwap_01D20D00E00E)
                     {
@@ -39805,7 +39788,7 @@
                     }
                     break;
                 }
-                case 0x000007a3u:
+                case 0x000007a4u:
                 {
                     if (name == BuiltInName::imageAtomicOr_01G20D00D)
                     {
@@ -39813,7 +39796,7 @@
                     }
                     break;
                 }
-                case 0x000007a5u:
+                case 0x000007a6u:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01a20D00D)
                     {
@@ -39821,7 +39804,7 @@
                     }
                     break;
                 }
-                case 0x000007a9u:
+                case 0x000007aau:
                 {
                     if (name == BuiltInName::imageAtomicMin_01S10D00D00D)
                     {
@@ -39829,7 +39812,7 @@
                     }
                     break;
                 }
-                case 0x000007aau:
+                case 0x000007abu:
                 {
                     if (name == BuiltInName::imageAtomicMin_01S10D00D00E)
                     {
@@ -39837,7 +39820,7 @@
                     }
                     break;
                 }
-                case 0x000007acu:
+                case 0x000007adu:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01D20D00D)
                     {
@@ -39845,7 +39828,7 @@
                     }
                     break;
                 }
-                case 0x000007afu:
+                case 0x000007b0u:
                 {
                     if (name == BuiltInName::imageLoad_01C20D)
                     {
@@ -39853,7 +39836,7 @@
                     }
                     break;
                 }
-                case 0x000007b0u:
+                case 0x000007b1u:
                 {
                     if (name == BuiltInName::imageAtomicMax_01C20D00D)
                     {
@@ -39861,7 +39844,7 @@
                     }
                     break;
                 }
-                case 0x000007b1u:
+                case 0x000007b2u:
                 {
                     if (name == BuiltInName::imageAtomicMax_01C20D00E)
                     {
@@ -39869,7 +39852,7 @@
                     }
                     break;
                 }
-                case 0x000007b9u:
+                case 0x000007bau:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01P10D00E)
                     {
@@ -39877,7 +39860,7 @@
                     }
                     break;
                 }
-                case 0x000007bau:
+                case 0x000007bbu:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01P10D00D)
                     {
@@ -39885,7 +39868,7 @@
                     }
                     break;
                 }
-                case 0x000007c8u:
+                case 0x000007c9u:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01I20D00D)
                     {
@@ -39893,7 +39876,7 @@
                     }
                     break;
                 }
-                case 0x000007c9u:
+                case 0x000007cau:
                 {
                     if (name == BuiltInName::imageAtomicMax_01M00D00D)
                     {
@@ -39901,7 +39884,7 @@
                     }
                     break;
                 }
-                case 0x000007cau:
+                case 0x000007cbu:
                 {
                     if (name == BuiltInName::imageAtomicMax_01M00D00E)
                     {
@@ -39909,7 +39892,7 @@
                     }
                     break;
                 }
-                case 0x000007ccu:
+                case 0x000007cdu:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01E20D00D)
                     {
@@ -39917,7 +39900,7 @@
                     }
                     break;
                 }
-                case 0x000007d2u:
+                case 0x000007d3u:
                 {
                     if (name == BuiltInName::imageAtomicMin_01I20D00E)
                     {
@@ -39925,7 +39908,7 @@
                     }
                     break;
                 }
-                case 0x000007d4u:
+                case 0x000007d5u:
                 {
                     if (name == BuiltInName::imageStore_01b20D30E)
                     {
@@ -39933,7 +39916,7 @@
                     }
                     break;
                 }
-                case 0x000007dcu:
+                case 0x000007ddu:
                 {
                     if (name == BuiltInName::atomicCounter_00G)
                     {
@@ -39941,7 +39924,7 @@
                     }
                     break;
                 }
-                case 0x000007e7u:
+                case 0x000007e8u:
                 {
                     if (name == BuiltInName::imageAtomicMin_01U20D00D00E)
                     {
@@ -39949,7 +39932,7 @@
                     }
                     break;
                 }
-                case 0x000007e8u:
+                case 0x000007e9u:
                 {
                     if (name == BuiltInName::imageAtomicMin_01U20D00D00D)
                     {
@@ -39957,7 +39940,7 @@
                     }
                     break;
                 }
-                case 0x000007ebu:
+                case 0x000007ecu:
                 {
                     if (name == BuiltInName::imageAtomicMax_01N10D00D)
                     {
@@ -39965,7 +39948,7 @@
                     }
                     break;
                 }
-                case 0x000007ecu:
+                case 0x000007edu:
                 {
                     if (name == BuiltInName::imageAtomicMax_01N10D00E)
                     {
@@ -39973,7 +39956,7 @@
                     }
                     break;
                 }
-                case 0x000007f6u:
+                case 0x000007f7u:
                 {
                     if (name == BuiltInName::imageAtomicCompSwap_01V20D00D00E00E)
                     {
@@ -39981,7 +39964,7 @@
                     }
                     break;
                 }
-                case 0x00000800u:
+                case 0x00000801u:
                 {
                     if (name == BuiltInName::imageAtomicMax_01h00D00E)
                     {
@@ -39989,7 +39972,7 @@
                     }
                     break;
                 }
-                case 0x00000803u:
+                case 0x00000804u:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01X10D00E)
                     {
@@ -39997,7 +39980,7 @@
                     }
                     break;
                 }
-                case 0x00000805u:
+                case 0x00000806u:
                 {
                     if (name == BuiltInName::imageAtomicAnd_01O10D00E)
                     {
@@ -40005,7 +39988,7 @@
                     }
                     break;
                 }
-                case 0x00000806u:
+                case 0x00000807u:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01X10D00D)
                     {
@@ -40013,7 +39996,7 @@
                     }
                     break;
                 }
-                case 0x00000809u:
+                case 0x0000080au:
                 {
                     if (name == BuiltInName::imageAtomicMax_01L00D00E)
                     {
@@ -40021,7 +40004,7 @@
                     }
                     break;
                 }
-                case 0x0000080au:
+                case 0x0000080bu:
                 {
                     if (name == BuiltInName::imageAtomicMax_01L00D00D)
                     {
@@ -40029,7 +40012,7 @@
                     }
                     break;
                 }
-                case 0x0000080bu:
+                case 0x0000080cu:
                 {
                     if (name == BuiltInName::imageAtomicXor_01G20D00E)
                     {
@@ -40037,7 +40020,7 @@
                     }
                     break;
                 }
-                case 0x0000080cu:
+                case 0x0000080du:
                 {
                     if (name == BuiltInName::imageAtomicXor_01G20D00D)
                     {
@@ -40045,7 +40028,7 @@
                     }
                     break;
                 }
-                case 0x00000813u:
+                case 0x00000814u:
                 {
                     if (name == BuiltInName::imageAtomicAnd_01I20D00E)
                     {
@@ -40053,7 +40036,7 @@
                     }
                     break;
                 }
-                case 0x0000081bu:
+                case 0x0000081cu:
                 {
                     if (name == BuiltInName::imageAtomicMax_01J20D00E)
                     {
@@ -40061,7 +40044,7 @@
                     }
                     break;
                 }
-                case 0x0000081cu:
+                case 0x0000081du:
                 {
                     if (name == BuiltInName::imageAtomicMax_01J20D00D)
                     {
@@ -40069,7 +40052,7 @@
                     }
                     break;
                 }
-                case 0x0000081du:
+                case 0x0000081eu:
                 {
                     if (name == BuiltInName::imageAtomicMin_01D20D00D)
                     {
@@ -40077,7 +40060,7 @@
                     }
                     break;
                 }
-                case 0x00000823u:
+                case 0x00000824u:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01a20D00D)
                     {
@@ -40085,7 +40068,7 @@
                     }
                     break;
                 }
-                case 0x00000824u:
+                case 0x00000825u:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01a20D00E)
                     {
@@ -40093,7 +40076,7 @@
                     }
                     break;
                 }
-                case 0x00000827u:
+                case 0x00000828u:
                 {
                     if (name == BuiltInName::imageAtomicCompSwap_00z10D00D00D)
                     {
@@ -40101,7 +40084,7 @@
                     }
                     break;
                 }
-                case 0x0000082au:
+                case 0x0000082bu:
                 {
                     if (name == BuiltInName::unpackSnorm2x16_00E)
                     {
@@ -40109,7 +40092,7 @@
                     }
                     break;
                 }
-                case 0x00000830u:
+                case 0x00000831u:
                 {
                     if (name == BuiltInName::imageLoad_01G20D)
                     {
@@ -40117,7 +40100,7 @@
                     }
                     break;
                 }
-                case 0x00000835u:
+                case 0x00000836u:
                 {
                     if (name == BuiltInName::imageAtomicAnd_01H20D00D)
                     {
@@ -40125,7 +40108,7 @@
                     }
                     break;
                 }
-                case 0x00000836u:
+                case 0x00000837u:
                 {
                     if (name == BuiltInName::imageAtomicAnd_01H20D00E)
                     {
@@ -40133,7 +40116,7 @@
                     }
                     break;
                 }
-                case 0x0000083au:
+                case 0x0000083bu:
                 {
                     if (name == BuiltInName::imageAtomicExchange_01O10D00D)
                     {
@@ -40141,7 +40124,7 @@
                     }
                     break;
                 }
-                case 0x0000083bu:
+                case 0x0000083cu:
                 {
                     if (name == BuiltInName::imageAtomicCompSwap_01C20D00E00E)
                     {
@@ -40149,7 +40132,7 @@
                     }
                     break;
                 }
-                case 0x00000842u:
+                case 0x00000843u:
                 {
                     if (name == BuiltInName::imageAtomicXor_01F20D00D)
                     {
@@ -40157,7 +40140,7 @@
                     }
                     break;
                 }
-                case 0x0000084fu:
+                case 0x00000850u:
                 {
                     if (name == BuiltInName::imageAtomicMin_01g00D00D)
                     {
@@ -40165,7 +40148,7 @@
                     }
                     break;
                 }
-                case 0x00000851u:
+                case 0x00000852u:
                 {
                     if (name == BuiltInName::imageAtomicAnd_01a20D00D)
                     {
@@ -40173,7 +40156,7 @@
                     }
                     break;
                 }
-                case 0x00000854u:
+                case 0x00000855u:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01M00D00E)
                     {
@@ -40181,7 +40164,7 @@
                     }
                     break;
                 }
-                case 0x00000855u:
+                case 0x00000856u:
                 {
                     if (name == BuiltInName::imageAtomicAdd_01M00D00D)
                     {
@@ -40189,14 +40172,6 @@
                     }
                     break;
                 }
-                case 0x0000085au:
-                {
-                    if (name == BuiltInName::imageAtomicExchange_01K00D00D)
-                    {
-                        return &BuiltInFunction::function_imageAtomicExchange_01K00D00D;
-                    }
-                    break;
-                }
                 case 0x0000085eu:
                 {
                     if (name == BuiltInName::imageStore_01O10D30D)
@@ -40683,14 +40658,6 @@
                     }
                     break;
                 }
-                case 0x000000b5u:
-                {
-                    if (name == BuiltInName::textureGather_00L20B00D)
-                    {
-                        return &BuiltInFunction::function_textureGather_00L20B00D;
-                    }
-                    break;
-                }
                 case 0x000000dau:
                 {
                     if (name == BuiltInName::textureGatherOffset_00n10B00B10D)
@@ -41027,14 +40994,6 @@
                     }
                     break;
                 }
-                case 0x000001f9u:
-                {
-                    if (name == BuiltInName::bitCount_30E)
-                    {
-                        return &BuiltInFunction::function_bitCount_30E;
-                    }
-                    break;
-                }
                 case 0x000001fbu:
                 {
                     if (name == BuiltInName::textureGatherOffsets_00R10B70D00D)
@@ -41339,7 +41298,7 @@
                     }
                     break;
                 }
-                case 0x0000034eu:
+                case 0x0000034fu:
                 {
                     if (name == BuiltInName::textureGatherOffset_00f20B00B10D)
                     {
@@ -41347,7 +41306,7 @@
                     }
                     break;
                 }
-                case 0x00000353u:
+                case 0x00000354u:
                 {
                     if (name == BuiltInName::mod_10C10C)
                     {
@@ -41355,7 +41314,7 @@
                     }
                     break;
                 }
-                case 0x00000355u:
+                case 0x00000356u:
                 {
                     if (name == BuiltInName::faceforward_00C00C00C)
                     {
@@ -41363,7 +41322,7 @@
                     }
                     break;
                 }
-                case 0x0000035du:
+                case 0x0000035eu:
                 {
                     if (name == BuiltInName::ceil_30C)
                     {
@@ -41371,7 +41330,7 @@
                     }
                     break;
                 }
-                case 0x00000362u:
+                case 0x00000363u:
                 {
                     if (name == BuiltInName::mod_20C20C)
                     {
@@ -41379,7 +41338,7 @@
                     }
                     break;
                 }
-                case 0x00000363u:
+                case 0x00000364u:
                 {
                     if (name == BuiltInName::fract_30C)
                     {
@@ -41387,7 +41346,7 @@
                     }
                     break;
                 }
-                case 0x0000036au:
+                case 0x0000036bu:
                 {
                     if (name == BuiltInName::distance_10C10C)
                     {
@@ -41395,7 +41354,7 @@
                     }
                     break;
                 }
-                case 0x00000371u:
+                case 0x00000372u:
                 {
                     if (name == BuiltInName::textureGatherOffsets_00d10B00B70D)
                     {
@@ -41403,7 +41362,7 @@
                     }
                     break;
                 }
-                case 0x00000375u:
+                case 0x00000376u:
                 {
                     if (name == BuiltInName::sqrt_00C)
                     {
@@ -41411,7 +41370,7 @@
                     }
                     break;
                 }
-                case 0x00000380u:
+                case 0x00000381u:
                 {
                     if (name == BuiltInName::clamp_00C00C00C)
                     {
@@ -41419,7 +41378,7 @@
                     }
                     break;
                 }
-                case 0x00000386u:
+                case 0x00000387u:
                 {
                     if (name == BuiltInName::clamp_30C00C00C)
                     {
@@ -41427,7 +41386,7 @@
                     }
                     break;
                 }
-                case 0x00000391u:
+                case 0x00000392u:
                 {
                     if (name == BuiltInName::cross_20C20C)
                     {
@@ -41435,7 +41394,7 @@
                     }
                     break;
                 }
-                case 0x00000392u:
+                case 0x00000393u:
                 {
                     if (name == BuiltInName::textureGather_00a20B)
                     {
@@ -41443,7 +41402,7 @@
                     }
                     break;
                 }
-                case 0x000003a0u:
+                case 0x000003a1u:
                 {
                     if (name == BuiltInName::isnan_00C)
                     {
@@ -41451,7 +41410,7 @@
                     }
                     break;
                 }
-                case 0x000003a1u:
+                case 0x000003a2u:
                 {
                     if (name == BuiltInName::imulExtended_10D10D10D10D)
                     {
@@ -41459,7 +41418,7 @@
                     }
                     break;
                 }
-                case 0x000003a5u:
+                case 0x000003a7u:
                 {
                     if (name == BuiltInName::refract_10C10C00B)
                     {
@@ -41467,7 +41426,7 @@
                     }
                     break;
                 }
-                case 0x000003b2u:
+                case 0x000003b4u:
                 {
                     if (name == BuiltInName::refract_30C30C00B)
                     {
@@ -41475,7 +41434,7 @@
                     }
                     break;
                 }
-                case 0x000003bbu:
+                case 0x000003bdu:
                 {
                     if (name == BuiltInName::ldexp_30B30D)
                     {
@@ -41483,7 +41442,7 @@
                     }
                     break;
                 }
-                case 0x000003c9u:
+                case 0x000003cbu:
                 {
                     if (name == BuiltInName::abs_00C)
                     {
@@ -41491,7 +41450,7 @@
                     }
                     break;
                 }
-                case 0x000003ceu:
+                case 0x000003d0u:
                 {
                     if (name == BuiltInName::frexp_10C10D)
                     {
@@ -41499,7 +41458,7 @@
                     }
                     break;
                 }
-                case 0x000003d4u:
+                case 0x000003d6u:
                 {
                     if (name == BuiltInName::round_20C)
                     {
@@ -41507,7 +41466,7 @@
                     }
                     break;
                 }
-                case 0x000003dau:
+                case 0x000003dcu:
                 {
                     if (name == BuiltInName::step_00C20C)
                     {
@@ -41515,7 +41474,7 @@
                     }
                     break;
                 }
-                case 0x000003dbu:
+                case 0x000003ddu:
                 {
                     if (name == BuiltInName::dot_00C00C)
                     {
@@ -41523,7 +41482,7 @@
                     }
                     break;
                 }
-                case 0x000003dcu:
+                case 0x000003deu:
                 {
                     if (name == BuiltInName::max_30C30C)
                     {
@@ -41531,7 +41490,7 @@
                     }
                     break;
                 }
-                case 0x000003e3u:
+                case 0x000003e5u:
                 {
                     if (name == BuiltInName::min_20C00C)
                     {
@@ -41539,7 +41498,7 @@
                     }
                     break;
                 }
-                case 0x000003e6u:
+                case 0x000003e8u:
                 {
                     if (name == BuiltInName::findLSB_30D)
                     {
@@ -41547,7 +41506,7 @@
                     }
                     break;
                 }
-                case 0x000003e7u:
+                case 0x000003e9u:
                 {
                     if (name == BuiltInName::findLSB_30E)
                     {
@@ -41555,7 +41514,7 @@
                     }
                     break;
                 }
-                case 0x000003ecu:
+                case 0x000003eeu:
                 {
                     if (name == BuiltInName::textureGatherOffset_00U20B10D)
                     {
@@ -41563,7 +41522,7 @@
                     }
                     break;
                 }
-                case 0x00000403u:
+                case 0x00000405u:
                 {
                     if (name == BuiltInName::bitfieldExtract_00D00D00D)
                     {
@@ -41571,7 +41530,7 @@
                     }
                     break;
                 }
-                case 0x00000412u:
+                case 0x00000414u:
                 {
                     if (name == BuiltInName::fract_20C)
                     {
@@ -41579,7 +41538,7 @@
                     }
                     break;
                 }
-                case 0x00000414u:
+                case 0x00000416u:
                 {
                     if (name == BuiltInName::textureGatherOffset_00X10B10D)
                     {
@@ -41587,7 +41546,7 @@
                     }
                     break;
                 }
-                case 0x0000041cu:
+                case 0x0000041eu:
                 {
                     if (name == BuiltInName::step_30C30C)
                     {
@@ -41595,7 +41554,7 @@
                     }
                     break;
                 }
-                case 0x00000420u:
+                case 0x00000422u:
                 {
                     if (name == BuiltInName::textureGather_00x30B)
                     {
@@ -41603,7 +41562,7 @@
                     }
                     break;
                 }
-                case 0x00000424u:
+                case 0x00000426u:
                 {
                     if (name == BuiltInName::textureGather_00Z20B00D)
                     {
@@ -41611,7 +41570,7 @@
                     }
                     break;
                 }
-                case 0x00000426u:
+                case 0x00000428u:
                 {
                     if (name == BuiltInName::sqrt_30C)
                     {
@@ -41619,7 +41578,15 @@
                     }
                     break;
                 }
-                case 0x00000444u:
+                case 0x00000443u:
+                {
+                    if (name == BuiltInName::textureGather_00L20B00D)
+                    {
+                        return &BuiltInFunction::function_textureGather_00L20B00D;
+                    }
+                    break;
+                }
+                case 0x00000447u:
                 {
                     if (name == BuiltInName::normalize_30C)
                     {
@@ -41627,7 +41594,7 @@
                     }
                     break;
                 }
-                case 0x0000044du:
+                case 0x00000450u:
                 {
                     if (name == BuiltInName::textureGather_00K20B00D)
                     {
@@ -41635,7 +41602,7 @@
                     }
                     break;
                 }
-                case 0x00000450u:
+                case 0x00000453u:
                 {
                     if (name == BuiltInName::textureGather_00T20B00D)
                     {
@@ -41643,7 +41610,7 @@
                     }
                     break;
                 }
-                case 0x00000455u:
+                case 0x00000458u:
                 {
                     if (name == BuiltInName::modf_10C10C)
                     {
@@ -41651,7 +41618,7 @@
                     }
                     break;
                 }
-                case 0x00000467u:
+                case 0x0000046au:
                 {
                     if (name == BuiltInName::mix_20C20C00C)
                     {
@@ -41659,7 +41626,7 @@
                     }
                     break;
                 }
-                case 0x00000468u:
+                case 0x0000046bu:
                 {
                     if (name == BuiltInName::usubBorrow_10E10E10E)
                     {
@@ -41667,7 +41634,7 @@
                     }
                     break;
                 }
-                case 0x00000470u:
+                case 0x00000473u:
                 {
                     if (name == BuiltInName::isnan_10C)
                     {
@@ -41675,7 +41642,7 @@
                     }
                     break;
                 }
-                case 0x0000047cu:
+                case 0x0000047fu:
                 {
                     if (name == BuiltInName::mix_00C00C00C)
                     {
@@ -41683,7 +41650,7 @@
                     }
                     break;
                 }
-                case 0x00000481u:
+                case 0x00000484u:
                 {
                     if (name == BuiltInName::textureGather_00U20B00D)
                     {
@@ -41691,7 +41658,7 @@
                     }
                     break;
                 }
-                case 0x00000486u:
+                case 0x00000489u:
                 {
                     if (name == BuiltInName::min_30C30C)
                     {
@@ -41699,7 +41666,7 @@
                     }
                     break;
                 }
-                case 0x0000048bu:
+                case 0x0000048eu:
                 {
                     if (name == BuiltInName::modf_20C20C)
                     {
@@ -41707,7 +41674,7 @@
                     }
                     break;
                 }
-                case 0x0000048du:
+                case 0x00000490u:
                 {
                     if (name == BuiltInName::floor_00C)
                     {
@@ -41715,7 +41682,7 @@
                     }
                     break;
                 }
-                case 0x00000491u:
+                case 0x00000494u:
                 {
                     if (name == BuiltInName::mod_30C30C)
                     {
@@ -41723,7 +41690,7 @@
                     }
                     break;
                 }
-                case 0x0000049du:
+                case 0x000004a0u:
                 {
                     if (name == BuiltInName::ldexp_10C10D)
                     {
@@ -41731,7 +41698,7 @@
                     }
                     break;
                 }
-                case 0x000004a6u:
+                case 0x000004a9u:
                 {
                     if (name == BuiltInName::distance_00C00C)
                     {
@@ -41739,7 +41706,7 @@
                     }
                     break;
                 }
-                case 0x000004b1u:
+                case 0x000004b4u:
                 {
                     if (name == BuiltInName::step_00C30C)
                     {
@@ -41747,7 +41714,7 @@
                     }
                     break;
                 }
-                case 0x000004b6u:
+                case 0x000004b9u:
                 {
                     if (name == BuiltInName::textureGather_00R10B)
                     {
@@ -41755,7 +41722,7 @@
                     }
                     break;
                 }
-                case 0x000004c4u:
+                case 0x000004c7u:
                 {
                     if (name == BuiltInName::bitfieldReverse_20D)
                     {
@@ -41763,7 +41730,7 @@
                     }
                     break;
                 }
-                case 0x000004c5u:
+                case 0x000004c8u:
                 {
                     if (name == BuiltInName::bitfieldReverse_20E)
                     {
@@ -41771,7 +41738,7 @@
                     }
                     break;
                 }
-                case 0x000004cdu:
+                case 0x000004d0u:
                 {
                     if (name == BuiltInName::textureGather_00v20B)
                     {
@@ -41779,7 +41746,7 @@
                     }
                     break;
                 }
-                case 0x000004cfu:
+                case 0x000004d2u:
                 {
                     if (name == BuiltInName::fract_10C)
                     {
@@ -41787,7 +41754,7 @@
                     }
                     break;
                 }
-                case 0x000004d0u:
+                case 0x000004d3u:
                 {
                     if (name == BuiltInName::textureGatherOffset_00O10B10D00D)
                     {
@@ -41795,7 +41762,15 @@
                     }
                     break;
                 }
-                case 0x000004deu:
+                case 0x000004e0u:
+                {
+                    if (name == BuiltInName::bitCount_30E)
+                    {
+                        return &BuiltInFunction::function_bitCount_30E;
+                    }
+                    break;
+                }
+                case 0x000004e1u:
                 {
                     if (name == BuiltInName::bitCount_30D)
                     {
@@ -41803,7 +41778,7 @@
                     }
                     break;
                 }
-                case 0x000004e0u:
+                case 0x000004e3u:
                 {
                     if (name == BuiltInName::unpackUnorm2x16_00E)
                     {
@@ -41811,7 +41786,7 @@
                     }
                     break;
                 }
-                case 0x000004e2u:
+                case 0x000004e5u:
                 {
                     if (name == BuiltInName::sqrt_20C)
                     {
@@ -41819,7 +41794,7 @@
                     }
                     break;
                 }
-                case 0x000004e9u:
+                case 0x000004ecu:
                 {
                     if (name == BuiltInName::packUnorm4x8_30B)
                     {
@@ -41827,7 +41802,7 @@
                     }
                     break;
                 }
-                case 0x000004fbu:
+                case 0x000004feu:
                 {
                     if (name == BuiltInName::normalize_00C)
                     {
@@ -41835,7 +41810,7 @@
                     }
                     break;
                 }
-                case 0x000004fcu:
+                case 0x000004ffu:
                 {
                     if (name == BuiltInName::clamp_10C00C00C)
                     {
@@ -41843,7 +41818,7 @@
                     }
                     break;
                 }
-                case 0x00000516u:
+                case 0x00000519u:
                 {
                     if (name == BuiltInName::textureGatherOffsets_00n10B00B70D)
                     {
@@ -41851,7 +41826,7 @@
                     }
                     break;
                 }
-                case 0x00000536u:
+                case 0x00000539u:
                 {
                     if (name == BuiltInName::imulExtended_20D20D20D20D)
                     {
@@ -41859,7 +41834,7 @@
                     }
                     break;
                 }
-                case 0x0000054cu:
+                case 0x0000054fu:
                 {
                     if (name == BuiltInName::usubBorrow_20E20E20E)
                     {
@@ -41867,7 +41842,7 @@
                     }
                     break;
                 }
-                case 0x00000557u:
+                case 0x0000055au:
                 {
                     if (name == BuiltInName::floor_30C)
                     {
@@ -41875,7 +41850,7 @@
                     }
                     break;
                 }
-                case 0x0000055bu:
+                case 0x0000055eu:
                 {
                     if (name == BuiltInName::reflect_30C30C)
                     {
@@ -41883,7 +41858,7 @@
                     }
                     break;
                 }
-                case 0x0000055eu:
+                case 0x00000561u:
                 {
                     if (name == BuiltInName::textureGatherOffset_00v10B10D)
                     {
@@ -41891,7 +41866,7 @@
                     }
                     break;
                 }
-                case 0x00000560u:
+                case 0x00000563u:
                 {
                     if (name == BuiltInName::packDouble2x32_10E)
                     {
@@ -41899,7 +41874,7 @@
                     }
                     break;
                 }
-                case 0x00000568u:
+                case 0x0000056bu:
                 {
                     if (name == BuiltInName::textureGatherOffset_00U20B10D00D)
                     {
@@ -41907,7 +41882,7 @@
                     }
                     break;
                 }
-                case 0x00000569u:
+                case 0x0000056cu:
                 {
                     if (name == BuiltInName::textureGatherOffset_00q10B10D00D)
                     {
@@ -41915,7 +41890,7 @@
                     }
                     break;
                 }
-                case 0x0000056au:
+                case 0x0000056du:
                 {
                     if (name == BuiltInName::textureGather_00I10B00D)
                     {
@@ -41923,7 +41898,7 @@
                     }
                     break;
                 }
-                case 0x00000571u:
+                case 0x00000574u:
                 {
                     if (name == BuiltInName::textureGatherOffsets_00R10B70D)
                     {
@@ -41931,7 +41906,7 @@
                     }
                     break;
                 }
-                case 0x0000057au:
+                case 0x0000057du:
                 {
                     if (name == BuiltInName::smoothstep_30C30C30C)
                     {
@@ -41939,7 +41914,7 @@
                     }
                     break;
                 }
-                case 0x00000583u:
+                case 0x00000586u:
                 {
                     if (name == BuiltInName::textureSize_00k00D)
                     {
@@ -41947,7 +41922,7 @@
                     }
                     break;
                 }
-                case 0x0000058cu:
+                case 0x0000058fu:
                 {
                     if (name == BuiltInName::bitfieldReverse_30E)
                     {
@@ -41955,7 +41930,7 @@
                     }
                     break;
                 }
-                case 0x0000058du:
+                case 0x00000590u:
                 {
                     if (name == BuiltInName::bitfieldReverse_30D)
                     {
@@ -41963,7 +41938,7 @@
                     }
                     break;
                 }
-                case 0x00000590u:
+                case 0x00000592u:
                 {
                     if (name == BuiltInName::fract_00C)
                     {
@@ -41971,7 +41946,7 @@
                     }
                     break;
                 }
-                case 0x00000599u:
+                case 0x0000059bu:
                 {
                     if (name == BuiltInName::textureGatherOffsets_00I10B70D00D)
                     {
@@ -41979,7 +41954,7 @@
                     }
                     break;
                 }
-                case 0x000005a3u:
+                case 0x000005a5u:
                 {
                     if (name == BuiltInName::faceforward_30C30C30C)
                     {
@@ -41987,7 +41962,7 @@
                     }
                     break;
                 }
-                case 0x000005a5u:
+                case 0x000005a7u:
                 {
                     if (name == BuiltInName::roundEven_10C)
                     {
@@ -41995,7 +41970,7 @@
                     }
                     break;
                 }
-                case 0x000005a8u:
+                case 0x000005aau:
                 {
                     if (name == BuiltInName::bitCount_20D)
                     {
@@ -42003,7 +41978,7 @@
                     }
                     break;
                 }
-                case 0x000005a9u:
+                case 0x000005abu:
                 {
                     if (name == BuiltInName::bitCount_20E)
                     {
@@ -42011,7 +41986,7 @@
                     }
                     break;
                 }
-                case 0x000005aeu:
+                case 0x000005b0u:
                 {
                     if (name == BuiltInName::uaddCarry_30E30E30E)
                     {
@@ -42019,7 +41994,7 @@
                     }
                     break;
                 }
-                case 0x000005b8u:
+                case 0x000005bau:
                 {
                     if (name == BuiltInName::smoothstep_20C20C20C)
                     {
@@ -42027,7 +42002,7 @@
                     }
                     break;
                 }
-                case 0x000005beu:
+                case 0x000005c0u:
                 {
                     if (name == BuiltInName::reflect_10C10C)
                     {
@@ -42035,7 +42010,7 @@
                     }
                     break;
                 }
-                case 0x000005c1u:
+                case 0x000005c3u:
                 {
                     if (name == BuiltInName::textureGatherOffsets_00U20B70D)
                     {
@@ -42043,7 +42018,7 @@
                     }
                     break;
                 }
-                case 0x000005c5u:
+                case 0x000005c7u:
                 {
                     if (name == BuiltInName::textureGather_00v20B00D)
                     {
@@ -42051,7 +42026,7 @@
                     }
                     break;
                 }
-                case 0x000005c6u:
+                case 0x000005c8u:
                 {
                     if (name == BuiltInName::textureGatherOffset_00I10B10D00D)
                     {
@@ -42059,7 +42034,7 @@
                     }
                     break;
                 }
-                case 0x000005ceu:
+                case 0x000005d0u:
                 {
                     if (name == BuiltInName::usubBorrow_00E00E00E)
                     {
@@ -42067,7 +42042,7 @@
                     }
                     break;
                 }
-                case 0x000005dau:
+                case 0x000005dcu:
                 {
                     if (name == BuiltInName::step_10C10C)
                     {
@@ -42075,7 +42050,7 @@
                     }
                     break;
                 }
-                case 0x000005dcu:
+                case 0x000005deu:
                 {
                     if (name == BuiltInName::fma_10B10B10B)
                     {
@@ -42083,7 +42058,7 @@
                     }
                     break;
                 }
-                case 0x000005e8u:
+                case 0x000005eau:
                 {
                     if (name == BuiltInName::bitfieldExtract_00E00D00D)
                     {
@@ -42091,7 +42066,7 @@
                     }
                     break;
                 }
-                case 0x000005eau:
+                case 0x000005ecu:
                 {
                     if (name == BuiltInName::distance_30C30C)
                     {
@@ -42099,7 +42074,7 @@
                     }
                     break;
                 }
-                case 0x000005ecu:
+                case 0x000005eeu:
                 {
                     if (name == BuiltInName::textureGatherOffsets_00L20B70D)
                     {
@@ -42107,7 +42082,7 @@
                     }
                     break;
                 }
-                case 0x000005f3u:
+                case 0x000005f5u:
                 {
                     if (name == BuiltInName::textureGrad_00k30B20B20B)
                     {
@@ -42115,7 +42090,7 @@
                     }
                     break;
                 }
-                case 0x000005fdu:
+                case 0x000005ffu:
                 {
                     if (name == BuiltInName::floor_20C)
                     {
@@ -42123,7 +42098,7 @@
                     }
                     break;
                 }
-                case 0x00000602u:
+                case 0x00000604u:
                 {
                     if (name == BuiltInName::umulExtended_10E10E10E10E)
                     {
@@ -42131,7 +42106,7 @@
                     }
                     break;
                 }
-                case 0x00000606u:
+                case 0x00000608u:
                 {
                     if (name == BuiltInName::umulExtended_30E30E30E30E)
                     {
@@ -42139,7 +42114,7 @@
                     }
                     break;
                 }
-                case 0x00000607u:
+                case 0x00000609u:
                 {
                     if (name == BuiltInName::textureGatherOffsets_00q10B70D00D)
                     {
@@ -42147,7 +42122,7 @@
                     }
                     break;
                 }
-                case 0x0000060au:
+                case 0x0000060cu:
                 {
                     if (name == BuiltInName::textureGatherOffset_00a20B10D)
                     {
@@ -42155,7 +42130,7 @@
                     }
                     break;
                 }
-                case 0x00000614u:
+                case 0x00000616u:
                 {
                     if (name == BuiltInName::length_30C)
                     {
@@ -42163,7 +42138,7 @@
                     }
                     break;
                 }
-                case 0x00000618u:
+                case 0x0000061au:
                 {
                     if (name == BuiltInName::mix_10C10C10C)
                     {
@@ -42171,7 +42146,7 @@
                     }
                     break;
                 }
-                case 0x00000619u:
+                case 0x0000061bu:
                 {
                     if (name == BuiltInName::mix_10C10C10F)
                     {
@@ -42179,7 +42154,7 @@
                     }
                     break;
                 }
-                case 0x0000061eu:
+                case 0x00000620u:
                 {
                     if (name == BuiltInName::max_20C00C)
                     {
@@ -42187,7 +42162,7 @@
                     }
                     break;
                 }
-                case 0x00000626u:
+                case 0x00000628u:
                 {
                     if (name == BuiltInName::usubBorrow_30E30E30E)
                     {
@@ -42195,7 +42170,7 @@
                     }
                     break;
                 }
-                case 0x00000638u:
+                case 0x0000063au:
                 {
                     if (name == BuiltInName::findLSB_00D)
                     {
@@ -42203,7 +42178,7 @@
                     }
                     break;
                 }
-                case 0x00000642u:
+                case 0x00000644u:
                 {
                     if (name == BuiltInName::sign_00C)
                     {
@@ -42211,7 +42186,7 @@
                     }
                     break;
                 }
-                case 0x0000065bu:
+                case 0x0000065du:
                 {
                     if (name == BuiltInName::modf_00C00C)
                     {
@@ -42219,7 +42194,7 @@
                     }
                     break;
                 }
-                case 0x0000065fu:
+                case 0x00000661u:
                 {
                     if (name == BuiltInName::textureGather_00U20B)
                     {
@@ -42227,7 +42202,7 @@
                     }
                     break;
                 }
-                case 0x00000662u:
+                case 0x00000664u:
                 {
                     if (name == BuiltInName::roundEven_00C)
                     {
@@ -42235,7 +42210,7 @@
                     }
                     break;
                 }
-                case 0x0000066eu:
+                case 0x00000670u:
                 {
                     if (name == BuiltInName::max_10C10C)
                     {
@@ -42243,7 +42218,7 @@
                     }
                     break;
                 }
-                case 0x00000672u:
+                case 0x00000674u:
                 {
                     if (name == BuiltInName::bitfieldInsert_10E10E00D00D)
                     {
@@ -42251,7 +42226,7 @@
                     }
                     break;
                 }
-                case 0x00000673u:
+                case 0x00000675u:
                 {
                     if (name == BuiltInName::packSnorm4x8_30B)
                     {
@@ -42259,7 +42234,7 @@
                     }
                     break;
                 }
-                case 0x00000679u:
+                case 0x0000067bu:
                 {
                     if (name == BuiltInName::mod_10C00C)
                     {
@@ -42267,7 +42242,7 @@
                     }
                     break;
                 }
-                case 0x0000068du:
+                case 0x0000068fu:
                 {
                     if (name == BuiltInName::dot_30C30C)
                     {
@@ -42275,7 +42250,7 @@
                     }
                     break;
                 }
-                case 0x00000691u:
+                case 0x00000693u:
                 {
                     if (name == BuiltInName::textureGatherOffsets_00U20B70D00D)
                     {
@@ -42283,7 +42258,7 @@
                     }
                     break;
                 }
-                case 0x0000069au:
+                case 0x0000069cu:
                 {
                     if (name == BuiltInName::bitfieldInsert_10D10D00D00D)
                     {
@@ -42291,7 +42266,7 @@
                     }
                     break;
                 }
-                case 0x0000069bu:
+                case 0x0000069du:
                 {
                     if (name == BuiltInName::textureGather_00s30B)
                     {
@@ -42299,7 +42274,7 @@
                     }
                     break;
                 }
-                case 0x000006a0u:
+                case 0x000006a2u:
                 {
                     if (name == BuiltInName::textureGather_00k30B)
                     {
@@ -42307,7 +42282,7 @@
                     }
                     break;
                 }
-                case 0x000006a9u:
+                case 0x000006abu:
                 {
                     if (name == BuiltInName::uaddCarry_10E10E10E)
                     {
@@ -42315,7 +42290,7 @@
                     }
                     break;
                 }
-                case 0x000006acu:
+                case 0x000006aeu:
                 {
                     if (name == BuiltInName::mix_10C10C00C)
                     {
@@ -42323,7 +42298,7 @@
                     }
                     break;
                 }
-                case 0x000006c1u:
+                case 0x000006c3u:
                 {
                     if (name == BuiltInName::min_10C10C)
                     {
@@ -42331,7 +42306,7 @@
                     }
                     break;
                 }
-                case 0x000006c3u:
+                case 0x000006c5u:
                 {
                     if (name == BuiltInName::textureGather_00q20B00D)
                     {
@@ -42339,7 +42314,7 @@
                     }
                     break;
                 }
-                case 0x000006d1u:
+                case 0x000006d3u:
                 {
                     if (name == BuiltInName::trunc_10C)
                     {
@@ -42347,7 +42322,7 @@
                     }
                     break;
                 }
-                case 0x000006d4u:
+                case 0x000006d6u:
                 {
                     if (name == BuiltInName::dot_20C20C)
                     {
@@ -42355,7 +42330,7 @@
                     }
                     break;
                 }
-                case 0x000006d7u:
+                case 0x000006d9u:
                 {
                     if (name == BuiltInName::textureGatherOffsets_00L20B70D00D)
                     {
@@ -42363,7 +42338,7 @@
                     }
                     break;
                 }
-                case 0x000006e0u:
+                case 0x000006e2u:
                 {
                     if (name == BuiltInName::sign_10C)
                     {
@@ -42371,7 +42346,7 @@
                     }
                     break;
                 }
-                case 0x000006e4u:
+                case 0x000006e6u:
                 {
                     if (name == BuiltInName::refract_20C20C00B)
                     {
@@ -42379,7 +42354,7 @@
                     }
                     break;
                 }
-                case 0x000006efu:
+                case 0x000006f0u:
                 {
                     if (name == BuiltInName::textureGatherOffset_00q10B10D)
                     {
@@ -42387,7 +42362,7 @@
                     }
                     break;
                 }
-                case 0x000006f0u:
+                case 0x000006f1u:
                 {
                     if (name == BuiltInName::textureGather_00a20B00D)
                     {
@@ -42395,7 +42370,7 @@
                     }
                     break;
                 }
-                case 0x000006f2u:
+                case 0x000006f3u:
                 {
                     if (name == BuiltInName::ldexp_00C00D)
                     {
@@ -42403,7 +42378,7 @@
                     }
                     break;
                 }
-                case 0x000006f3u:
+                case 0x000006f4u:
                 {
                     if (name == BuiltInName::textureSize_00s00D)
                     {
@@ -42411,7 +42386,7 @@
                     }
                     break;
                 }
-                case 0x00000706u:
+                case 0x00000707u:
                 {
                     if (name == BuiltInName::texture_00l30B00B)
                     {
@@ -42419,7 +42394,7 @@
                     }
                     break;
                 }
-                case 0x0000070eu:
+                case 0x0000070fu:
                 {
                     if (name == BuiltInName::imulExtended_30D30D30D30D)
                     {
@@ -42427,7 +42402,7 @@
                     }
                     break;
                 }
-                case 0x00000711u:
+                case 0x00000712u:
                 {
                     if (name == BuiltInName::imulExtended_00D00D00D00D)
                     {
@@ -42435,7 +42410,7 @@
                     }
                     break;
                 }
-                case 0x00000712u:
+                case 0x00000713u:
                 {
                     if (name == BuiltInName::textureGatherOffsets_00q10B70D)
                     {
@@ -42443,7 +42418,7 @@
                     }
                     break;
                 }
-                case 0x00000717u:
+                case 0x00000718u:
                 {
                     if (name == BuiltInName::faceforward_10C10C10C)
                     {
@@ -42451,7 +42426,7 @@
                     }
                     break;
                 }
-                case 0x0000071fu:
+                case 0x00000720u:
                 {
                     if (name == BuiltInName::bitfieldInsert_20D20D00D00D)
                     {
@@ -42459,7 +42434,7 @@
                     }
                     break;
                 }
-                case 0x00000726u:
+                case 0x00000727u:
                 {
                     if (name == BuiltInName::max_10C00C)
                     {
@@ -42467,7 +42442,7 @@
                     }
                     break;
                 }
-                case 0x00000728u:
+                case 0x00000729u:
                 {
                     if (name == BuiltInName::textureGatherOffsets_00v10B70D00D)
                     {
@@ -42475,7 +42450,7 @@
                     }
                     break;
                 }
-                case 0x0000072fu:
+                case 0x00000730u:
                 {
                     if (name == BuiltInName::reflect_20C20C)
                     {
@@ -42483,7 +42458,7 @@
                     }
                     break;
                 }
-                case 0x00000733u:
+                case 0x00000734u:
                 {
                     if (name == BuiltInName::bitfieldInsert_00E00E00D00D)
                     {
@@ -42491,7 +42466,7 @@
                     }
                     break;
                 }
-                case 0x0000073du:
+                case 0x0000073eu:
                 {
                     if (name == BuiltInName::clamp_30C30C30C)
                     {
@@ -42499,7 +42474,7 @@
                     }
                     break;
                 }
-                case 0x00000748u:
+                case 0x00000749u:
                 {
                     if (name == BuiltInName::findLSB_20E)
                     {
@@ -42507,7 +42482,7 @@
                     }
                     break;
                 }
-                case 0x00000749u:
+                case 0x0000074au:
                 {
                     if (name == BuiltInName::findLSB_20D)
                     {
@@ -42515,7 +42490,7 @@
                     }
                     break;
                 }
-                case 0x00000767u:
+                case 0x00000768u:
                 {
                     if (name == BuiltInName::mix_30C30C00C)
                     {
@@ -42523,7 +42498,7 @@
                     }
                     break;
                 }
-                case 0x00000774u:
+                case 0x00000775u:
                 {
                     if (name == BuiltInName::bitfieldInsert_30D30D00D00D)
                     {
@@ -42531,7 +42506,7 @@
                     }
                     break;
                 }
-                case 0x00000776u:
+                case 0x00000777u:
                 {
                     if (name == BuiltInName::min_10C00C)
                     {
@@ -42539,7 +42514,7 @@
                     }
                     break;
                 }
-                case 0x00000778u:
+                case 0x00000779u:
                 {
                     if (name == BuiltInName::bitfieldExtract_10E00D00D)
                     {
@@ -42547,7 +42522,7 @@
                     }
                     break;
                 }
-                case 0x00000783u:
+                case 0x00000784u:
                 {
                     if (name == BuiltInName::length_10C)
                     {
@@ -42555,7 +42530,7 @@
                     }
                     break;
                 }
-                case 0x00000792u:
+                case 0x00000793u:
                 {
                     if (name == BuiltInName::textureGatherOffsets_00v10B70D)
                     {
@@ -42563,7 +42538,7 @@
                     }
                     break;
                 }
-                case 0x00000796u:
+                case 0x00000797u:
                 {
                     if (name == BuiltInName::round_30C)
                     {
@@ -42571,7 +42546,7 @@
                     }
                     break;
                 }
-                case 0x00000799u:
+                case 0x0000079au:
                 {
                     if (name == BuiltInName::textureGrad_00x30B20B20B)
                     {
@@ -42579,7 +42554,7 @@
                     }
                     break;
                 }
-                case 0x0000079du:
+                case 0x0000079eu:
                 {
                     if (name == BuiltInName::smoothstep_00C00C10C)
                     {
@@ -42587,7 +42562,7 @@
                     }
                     break;
                 }
-                case 0x000007a6u:
+                case 0x000007a7u:
                 {
                     if (name == BuiltInName::textureGather_00k30B00D)
                     {
@@ -42595,7 +42570,7 @@
                     }
                     break;
                 }
-                case 0x000007a7u:
+                case 0x000007a8u:
                 {
                     if (name == BuiltInName::findMSB_20D)
                     {
@@ -42603,7 +42578,7 @@
                     }
                     break;
                 }
-                case 0x000007a8u:
+                case 0x000007a9u:
                 {
                     if (name == BuiltInName::findMSB_20E)
                     {
@@ -42611,7 +42586,7 @@
                     }
                     break;
                 }
-                case 0x000007adu:
+                case 0x000007aeu:
                 {
                     if (name == BuiltInName::normalize_10C)
                     {
@@ -42619,7 +42594,7 @@
                     }
                     break;
                 }
-                case 0x000007aeu:
+                case 0x000007afu:
                 {
                     if (name == BuiltInName::unpackSnorm4x8_00E)
                     {
@@ -42627,7 +42602,7 @@
                     }
                     break;
                 }
-                case 0x000007b2u:
+                case 0x000007b3u:
                 {
                     if (name == BuiltInName::textureGather_00l30B00B)
                     {
@@ -42635,7 +42610,7 @@
                     }
                     break;
                 }
-                case 0x000007b6u:
+                case 0x000007b7u:
                 {
                     if (name == BuiltInName::isnan_20C)
                     {
@@ -42643,7 +42618,7 @@
                     }
                     break;
                 }
-                case 0x000007cbu:
+                case 0x000007ccu:
                 {
                     if (name == BuiltInName::textureLod_00k30B00B)
                     {
@@ -42651,7 +42626,7 @@
                     }
                     break;
                 }
-                case 0x000007ceu:
+                case 0x000007cfu:
                 {
                     if (name == BuiltInName::refract_00C00C00B)
                     {
@@ -42659,7 +42634,7 @@
                     }
                     break;
                 }
-                case 0x000007d5u:
+                case 0x000007d6u:
                 {
                     if (name == BuiltInName::textureGather_00O20B00D)
                     {
@@ -42667,7 +42642,7 @@
                     }
                     break;
                 }
-                case 0x000007ddu:
+                case 0x000007deu:
                 {
                     if (name == BuiltInName::clamp_10C10C10C)
                     {
@@ -42675,7 +42650,7 @@
                     }
                     break;
                 }
-                case 0x000007e4u:
+                case 0x000007e5u:
                 {
                     if (name == BuiltInName::dot_10C10C)
                     {
@@ -42683,7 +42658,7 @@
                     }
                     break;
                 }
-                case 0x000007fau:
+                case 0x000007fbu:
                 {
                     if (name == BuiltInName::min_20C20C)
                     {
@@ -42691,7 +42666,7 @@
                     }
                     break;
                 }
-                case 0x000007fcu:
+                case 0x000007fdu:
                 {
                     if (name == BuiltInName::findLSB_10D)
                     {
@@ -42699,7 +42674,7 @@
                     }
                     break;
                 }
-                case 0x00000804u:
+                case 0x00000805u:
                 {
                     if (name == BuiltInName::faceforward_20C20C20C)
                     {
@@ -42707,7 +42682,7 @@
                     }
                     break;
                 }
-                case 0x00000807u:
+                case 0x00000808u:
                 {
                     if (name == BuiltInName::textureGather_00n10B00B)
                     {
@@ -42715,7 +42690,7 @@
                     }
                     break;
                 }
-                case 0x00000808u:
+                case 0x00000809u:
                 {
                     if (name == BuiltInName::textureGather_00X10B00D)
                     {
@@ -42723,7 +42698,7 @@
                     }
                     break;
                 }
-                case 0x00000817u:
+                case 0x00000818u:
                 {
                     if (name == BuiltInName::mix_30C30C30F)
                     {
@@ -42731,7 +42706,7 @@
                     }
                     break;
                 }
-                case 0x00000818u:
+                case 0x00000819u:
                 {
                     if (name == BuiltInName::mix_30C30C30C)
                     {
@@ -42739,7 +42714,7 @@
                     }
                     break;
                 }
-                case 0x00000832u:
+                case 0x00000833u:
                 {
                     if (name == BuiltInName::trunc_30C)
                     {
@@ -42747,7 +42722,7 @@
                     }
                     break;
                 }
-                case 0x00000834u:
+                case 0x00000835u:
                 {
                     if (name == BuiltInName::length_00C)
                     {
@@ -42755,7 +42730,7 @@
                     }
                     break;
                 }
-                case 0x0000083fu:
+                case 0x00000840u:
                 {
                     if (name == BuiltInName::textureLod_00x30B00B)
                     {
@@ -42763,7 +42738,7 @@
                     }
                     break;
                 }
-                case 0x0000084bu:
+                case 0x0000084cu:
                 {
                     if (name == BuiltInName::bitfieldInsert_20E20E00D00D)
                     {
@@ -42771,7 +42746,7 @@
                     }
                     break;
                 }
-                case 0x00000850u:
+                case 0x00000851u:
                 {
                     if (name == BuiltInName::trunc_00C)
                     {
@@ -42779,7 +42754,7 @@
                     }
                     break;
                 }
-                case 0x00000858u:
+                case 0x00000859u:
                 {
                     if (name == BuiltInName::smoothstep_00C00C00C)
                     {
@@ -43192,7 +43167,7 @@
                         }
                         break;
                     }
-                    case 0x00000399u:
+                    case 0x0000039au:
                     {
                         if (name == BuiltInName::textureQueryLod_00R10B)
                         {
@@ -43200,7 +43175,7 @@
                         }
                         break;
                     }
-                    case 0x0000040eu:
+                    case 0x00000410u:
                     {
                         if (name == BuiltInName::textureQueryLod_00g00B)
                         {
@@ -43208,7 +43183,7 @@
                         }
                         break;
                     }
-                    case 0x0000042cu:
+                    case 0x0000042eu:
                     {
                         if (name == BuiltInName::interpolateAtCentroid_10B)
                         {
@@ -43216,7 +43191,7 @@
                         }
                         break;
                     }
-                    case 0x0000043cu:
+                    case 0x0000043eu:
                     {
                         if (name == BuiltInName::textureQueryLod_00l20B)
                         {
@@ -43224,7 +43199,7 @@
                         }
                         break;
                     }
-                    case 0x00000452u:
+                    case 0x00000455u:
                     {
                         if (name == BuiltInName::textureQueryLod_00I10B)
                         {
@@ -43232,7 +43207,7 @@
                         }
                         break;
                     }
-                    case 0x000004d1u:
+                    case 0x000004d4u:
                     {
                         if (name == BuiltInName::textureQueryLod_00K20B)
                         {
@@ -43240,7 +43215,7 @@
                         }
                         break;
                     }
-                    case 0x000004e4u:
+                    case 0x000004e7u:
                     {
                         if (name == BuiltInName::interpolateAtCentroid_00B)
                         {
@@ -43248,7 +43223,7 @@
                         }
                         break;
                     }
-                    case 0x000004f7u:
+                    case 0x000004fau:
                     {
                         if (name == BuiltInName::textureQueryLod_00o00B)
                         {
@@ -43256,7 +43231,7 @@
                         }
                         break;
                     }
-                    case 0x00000595u:
+                    case 0x00000597u:
                     {
                         if (name == BuiltInName::interpolateAtOffset_20B10B)
                         {
@@ -43264,7 +43239,7 @@
                         }
                         break;
                     }
-                    case 0x0000059au:
+                    case 0x0000059cu:
                     {
                         if (name == BuiltInName::interpolateAtCentroid_30B)
                         {
@@ -43272,7 +43247,7 @@
                         }
                         break;
                     }
-                    case 0x000005d2u:
+                    case 0x000005d4u:
                     {
                         if (name == BuiltInName::textureQueryLod_00s20B)
                         {
@@ -43280,7 +43255,7 @@
                         }
                         break;
                     }
-                    case 0x000005dbu:
+                    case 0x000005ddu:
                     {
                         if (name == BuiltInName::textureQueryLod_00x20B)
                         {
@@ -43288,7 +43263,7 @@
                         }
                         break;
                     }
-                    case 0x00000653u:
+                    case 0x00000655u:
                     {
                         if (name == BuiltInName::interpolateAtCentroid_20B)
                         {
@@ -43296,7 +43271,7 @@
                         }
                         break;
                     }
-                    case 0x00000659u:
+                    case 0x0000065bu:
                     {
                         if (name == BuiltInName::textureQueryLod_00h00B)
                         {
@@ -43304,7 +43279,7 @@
                         }
                         break;
                     }
-                    case 0x00000669u:
+                    case 0x0000066bu:
                     {
                         if (name == BuiltInName::textureQueryLod_00J20B)
                         {
@@ -43312,7 +43287,7 @@
                         }
                         break;
                     }
-                    case 0x0000066du:
+                    case 0x0000066fu:
                     {
                         if (name == BuiltInName::interpolateAtOffset_10B10B)
                         {
@@ -43320,7 +43295,7 @@
                         }
                         break;
                     }
-                    case 0x00000677u:
+                    case 0x00000679u:
                     {
                         if (name == BuiltInName::textureQueryLod_00d10B)
                         {
@@ -43328,7 +43303,7 @@
                         }
                         break;
                     }
-                    case 0x00000718u:
+                    case 0x00000719u:
                     {
                         if (name == BuiltInName::textureQueryLod_00u00B)
                         {
@@ -43336,7 +43311,7 @@
                         }
                         break;
                     }
-                    case 0x00000721u:
+                    case 0x00000722u:
                     {
                         if (name == BuiltInName::textureQueryLod_00U10B)
                         {
@@ -43344,7 +43319,7 @@
                         }
                         break;
                     }
-                    case 0x00000752u:
+                    case 0x00000753u:
                     {
                         if (name == BuiltInName::textureQueryLod_00Y20B)
                         {
@@ -43352,7 +43327,7 @@
                         }
                         break;
                     }
-                    case 0x0000076du:
+                    case 0x0000076eu:
                     {
                         if (name == BuiltInName::textureQueryLod_00L10B)
                         {
@@ -43360,7 +43335,7 @@
                         }
                         break;
                     }
-                    case 0x0000079eu:
+                    case 0x0000079fu:
                     {
                         if (name == BuiltInName::interpolateAtSample_00B00D)
                         {
@@ -43368,7 +43343,7 @@
                         }
                         break;
                     }
-                    case 0x000007e3u:
+                    case 0x000007e4u:
                     {
                         if (name == BuiltInName::textureQueryLod_00Z20B)
                         {
@@ -43376,7 +43351,7 @@
                         }
                         break;
                     }
-                    case 0x0000082du:
+                    case 0x0000082eu:
                     {
                         if (name == BuiltInName::textureQueryLod_00S20B)
                         {
@@ -43398,7 +43373,7 @@
             {
                 switch (nameHash)
                 {
-                    case 0x000007a2u:
+                    case 0x000007a3u:
                     {
                         if (name == BuiltInName::barrier_)
                         {
@@ -43420,7 +43395,7 @@
                         }
                         break;
                     }
-                    case 0x000003f2u:
+                    case 0x000003f4u:
                     {
                         if (name == BuiltInName::EmitStreamVertex_00D)
                         {
@@ -43483,7 +43458,7 @@
                     }
                     break;
                 }
-                case 0x000003afu:
+                case 0x000003b1u:
                 {
                     if (name == BuiltInName::floatBitsToInt_10B)
                     {
@@ -43491,7 +43466,7 @@
                     }
                     break;
                 }
-                case 0x000003b6u:
+                case 0x000003b8u:
                 {
                     if (name == BuiltInName::floatBitsToUint_30B)
                     {
@@ -43499,7 +43474,7 @@
                     }
                     break;
                 }
-                case 0x00000482u:
+                case 0x00000485u:
                 {
                     if (name == BuiltInName::floatBitsToInt_00B)
                     {
@@ -43507,7 +43482,7 @@
                     }
                     break;
                 }
-                case 0x00000485u:
+                case 0x00000488u:
                 {
                     if (name == BuiltInName::floatBitsToUint_00B)
                     {
@@ -43515,7 +43490,7 @@
                     }
                     break;
                 }
-                case 0x00000507u:
+                case 0x0000050au:
                 {
                     if (name == BuiltInName::floatBitsToUint_10B)
                     {
@@ -43523,7 +43498,7 @@
                     }
                     break;
                 }
-                case 0x0000071bu:
+                case 0x0000071cu:
                 {
                     if (name == BuiltInName::uintBitsToFloat_00E)
                     {
@@ -43531,7 +43506,7 @@
                     }
                     break;
                 }
-                case 0x000007c5u:
+                case 0x000007c6u:
                 {
                     if (name == BuiltInName::uintBitsToFloat_10E)
                     {
@@ -43539,7 +43514,7 @@
                     }
                     break;
                 }
-                case 0x000007f9u:
+                case 0x000007fau:
                 {
                     if (name == BuiltInName::intBitsToFloat_10D)
                     {
@@ -43569,7 +43544,7 @@
         {
             switch (nameHash)
             {
-                case 0x00000373u:
+                case 0x00000374u:
                 {
                     if (name == BuiltInName::texelFetch_00c20D00D)
                     {
@@ -43577,15 +43552,7 @@
                     }
                     break;
                 }
-                case 0x000003d7u:
-                {
-                    if (name == BuiltInName::textureSize_00P)
-                    {
-                        return &BuiltInFunction::function_textureSize_00P;
-                    }
-                    break;
-                }
-                case 0x000003e1u:
+                case 0x000003e3u:
                 {
                     if (name == BuiltInName::textureSize_00V)
                     {
@@ -43593,7 +43560,7 @@
                     }
                     break;
                 }
-                case 0x000004b3u:
+                case 0x000004b6u:
                 {
                     if (name == BuiltInName::texelFetch_00b10D00D)
                     {
@@ -43601,7 +43568,7 @@
                     }
                     break;
                 }
-                case 0x000004eau:
+                case 0x000004edu:
                 {
                     if (name == BuiltInName::texelFetch_00P10D00D)
                     {
@@ -43609,7 +43576,7 @@
                     }
                     break;
                 }
-                case 0x0000056cu:
+                case 0x0000056fu:
                 {
                     if (name == BuiltInName::texelFetch_00V10D00D)
                     {
@@ -43617,7 +43584,7 @@
                     }
                     break;
                 }
-                case 0x00000661u:
+                case 0x00000663u:
                 {
                     if (name == BuiltInName::texelFetch_00Q20D00D)
                     {
@@ -43625,7 +43592,7 @@
                     }
                     break;
                 }
-                case 0x00000843u:
+                case 0x00000844u:
                 {
                     if (name == BuiltInName::textureSize_00c)
                     {
@@ -43633,7 +43600,7 @@
                     }
                     break;
                 }
-                case 0x00000844u:
+                case 0x00000845u:
                 {
                     if (name == BuiltInName::textureSize_00b)
                     {
@@ -43641,7 +43608,7 @@
                     }
                     break;
                 }
-                case 0x00000852u:
+                case 0x00000853u:
                 {
                     if (name == BuiltInName::textureSize_00Q)
                     {
@@ -43649,7 +43616,15 @@
                     }
                     break;
                 }
-                case 0x00000856u:
+                case 0x00000854u:
+                {
+                    if (name == BuiltInName::textureSize_00P)
+                    {
+                        return &BuiltInFunction::function_textureSize_00P;
+                    }
+                    break;
+                }
+                case 0x00000857u:
                 {
                     if (name == BuiltInName::textureSize_00W)
                     {
@@ -43678,7 +43653,7 @@
                         }
                         break;
                     }
-                    case 0x000003d5u:
+                    case 0x000003d7u:
                     {
                         if (name == BuiltInName::EndPrimitive_)
                         {
@@ -43797,6 +43772,14 @@
                     }
                     break;
                 }
+                case 0x000001f9u:
+                {
+                    if (name == BuiltInName::textureOffset_00n20B10D)
+                    {
+                        return &BuiltInFunction::function_textureOffset_00n20B10D;
+                    }
+                    break;
+                }
                 case 0x00000218u:
                 {
                     if (name == BuiltInName::texelFetch_00v10D)
@@ -43869,7 +43852,7 @@
                     }
                     break;
                 }
-                case 0x00000378u:
+                case 0x00000379u:
                 {
                     if (name == BuiltInName::texelFetch_00q10D)
                     {
@@ -43877,7 +43860,7 @@
                     }
                     break;
                 }
-                case 0x0000037cu:
+                case 0x0000037du:
                 {
                     if (name == BuiltInName::textureProjGrad_00v30B10B10B)
                     {
@@ -43885,7 +43868,7 @@
                     }
                     break;
                 }
-                case 0x0000038au:
+                case 0x0000038bu:
                 {
                     if (name == BuiltInName::textureProjOffset_00q20B10D)
                     {
@@ -43893,7 +43876,7 @@
                     }
                     break;
                 }
-                case 0x00000393u:
+                case 0x00000394u:
                 {
                     if (name == BuiltInName::textureProjGradOffset_00O20B10B10B10D)
                     {
@@ -43901,7 +43884,7 @@
                     }
                     break;
                 }
-                case 0x00000397u:
+                case 0x00000398u:
                 {
                     if (name == BuiltInName::textureProj_00O30B)
                     {
@@ -43909,7 +43892,7 @@
                     }
                     break;
                 }
-                case 0x000003b9u:
+                case 0x000003bbu:
                 {
                     if (name == BuiltInName::textureProjGrad_00q20B10B10B)
                     {
@@ -43917,7 +43900,7 @@
                     }
                     break;
                 }
-                case 0x000003ffu:
+                case 0x00000401u:
                 {
                     if (name == BuiltInName::texelFetch_00r00D)
                     {
@@ -43925,7 +43908,7 @@
                     }
                     break;
                 }
-                case 0x0000042du:
+                case 0x0000042fu:
                 {
                     if (name == BuiltInName::texture_00q10B)
                     {
@@ -43933,7 +43916,7 @@
                     }
                     break;
                 }
-                case 0x00000435u:
+                case 0x00000437u:
                 {
                     if (name == BuiltInName::textureGradOffset_00O10B10B10B10D)
                     {
@@ -43941,7 +43924,7 @@
                     }
                     break;
                 }
-                case 0x0000043fu:
+                case 0x00000441u:
                 {
                     if (name == BuiltInName::textureProjGrad_00v20B10B10B)
                     {
@@ -43949,7 +43932,7 @@
                     }
                     break;
                 }
-                case 0x00000446u:
+                case 0x00000449u:
                 {
                     if (name == BuiltInName::textureOffset_00O10B10D)
                     {
@@ -43957,7 +43940,7 @@
                     }
                     break;
                 }
-                case 0x00000460u:
+                case 0x00000463u:
                 {
                     if (name == BuiltInName::textureProjGradOffset_00q30B10B10B10D)
                     {
@@ -43965,7 +43948,7 @@
                     }
                     break;
                 }
-                case 0x00000487u:
+                case 0x0000048au:
                 {
                     if (name == BuiltInName::textureProjOffset_00v20B10D)
                     {
@@ -43973,15 +43956,7 @@
                     }
                     break;
                 }
-                case 0x000004ddu:
-                {
-                    if (name == BuiltInName::textureOffset_00n20B10D)
-                    {
-                        return &BuiltInFunction::function_textureOffset_00n20B10D;
-                    }
-                    break;
-                }
-                case 0x000004ebu:
+                case 0x000004eeu:
                 {
                     if (name == BuiltInName::texture_00O10B)
                     {
@@ -43989,7 +43964,7 @@
                     }
                     break;
                 }
-                case 0x0000050bu:
+                case 0x0000050eu:
                 {
                     if (name == BuiltInName::textureGrad_00O10B10B10B)
                     {
@@ -43997,7 +43972,7 @@
                     }
                     break;
                 }
-                case 0x00000554u:
+                case 0x00000557u:
                 {
                     if (name == BuiltInName::textureGradOffset_00n20B10B10B10D)
                     {
@@ -44005,7 +43980,7 @@
                     }
                     break;
                 }
-                case 0x0000057eu:
+                case 0x00000581u:
                 {
                     if (name == BuiltInName::textureProj_00q20B)
                     {
@@ -44013,7 +43988,7 @@
                     }
                     break;
                 }
-                case 0x000005adu:
+                case 0x000005afu:
                 {
                     if (name == BuiltInName::textureGradOffset_00q10B10B10B10D)
                     {
@@ -44021,7 +43996,7 @@
                     }
                     break;
                 }
-                case 0x000005c9u:
+                case 0x000005cbu:
                 {
                     if (name == BuiltInName::inverse_A0B)
                     {
@@ -44029,7 +44004,7 @@
                     }
                     break;
                 }
-                case 0x000005d4u:
+                case 0x000005d6u:
                 {
                     if (name == BuiltInName::texture_00v10B)
                     {
@@ -44037,7 +44012,7 @@
                     }
                     break;
                 }
-                case 0x00000635u:
+                case 0x00000637u:
                 {
                     if (name == BuiltInName::textureGrad_00q10B10B10B)
                     {
@@ -44045,7 +44020,7 @@
                     }
                     break;
                 }
-                case 0x00000664u:
+                case 0x00000666u:
                 {
                     if (name == BuiltInName::texelFetchOffset_00O10D10D)
                     {
@@ -44053,7 +44028,7 @@
                     }
                     break;
                 }
-                case 0x00000689u:
+                case 0x0000068bu:
                 {
                     if (name == BuiltInName::textureProj_00v30B)
                     {
@@ -44061,7 +44036,7 @@
                     }
                     break;
                 }
-                case 0x0000068au:
+                case 0x0000068cu:
                 {
                     if (name == BuiltInName::textureProjGrad_00O20B10B10B)
                     {
@@ -44069,7 +44044,7 @@
                     }
                     break;
                 }
-                case 0x0000073eu:
+                case 0x0000073fu:
                 {
                     if (name == BuiltInName::textureProj_00v20B)
                     {
@@ -44077,7 +44052,7 @@
                     }
                     break;
                 }
-                case 0x00000781u:
+                case 0x00000782u:
                 {
                     if (name == BuiltInName::textureProjOffset_00O20B10D)
                     {
@@ -44085,7 +44060,7 @@
                     }
                     break;
                 }
-                case 0x000007bfu:
+                case 0x000007c0u:
                 {
                     if (name == BuiltInName::textureOffset_00q10B10D)
                     {
@@ -44093,7 +44068,7 @@
                     }
                     break;
                 }
-                case 0x000007e6u:
+                case 0x000007e7u:
                 {
                     if (name == BuiltInName::textureProjGrad_00n30B10B10B)
                     {
@@ -44101,7 +44076,7 @@
                     }
                     break;
                 }
-                case 0x000007f3u:
+                case 0x000007f4u:
                 {
                     if (name == BuiltInName::textureProjGradOffset_00n30B10B10B10D)
                     {
@@ -44109,7 +44084,7 @@
                     }
                     break;
                 }
-                case 0x00000840u:
+                case 0x00000841u:
                 {
                     if (name == BuiltInName::textureSize_00j)
                     {
@@ -44117,7 +44092,7 @@
                     }
                     break;
                 }
-                case 0x00000841u:
+                case 0x00000842u:
                 {
                     if (name == BuiltInName::textureSize_00n)
                     {
@@ -44125,7 +44100,7 @@
                     }
                     break;
                 }
-                case 0x00000847u:
+                case 0x00000848u:
                 {
                     if (name == BuiltInName::textureSize_00q)
                     {
@@ -44133,7 +44108,7 @@
                     }
                     break;
                 }
-                case 0x00000848u:
+                case 0x00000849u:
                 {
                     if (name == BuiltInName::textureSize_00r)
                     {
@@ -44141,7 +44116,7 @@
                     }
                     break;
                 }
-                case 0x00000849u:
+                case 0x0000084au:
                 {
                     if (name == BuiltInName::textureSize_00w)
                     {
@@ -44149,7 +44124,7 @@
                     }
                     break;
                 }
-                case 0x0000084au:
+                case 0x0000084bu:
                 {
                     if (name == BuiltInName::textureSize_00v)
                     {
@@ -44157,7 +44132,7 @@
                     }
                     break;
                 }
-                case 0x0000084du:
+                case 0x0000084eu:
                 {
                     if (name == BuiltInName::textureSize_00O)
                     {
@@ -44771,14 +44746,6 @@
                     }
                     break;
                 }
-                case 0x00000189u:
-                {
-                    if (name == BuiltInName::textureProjOffset_00X20B10D)
-                    {
-                        return &BuiltInFunction::function_textureProjOffset_00X20B10D;
-                    }
-                    break;
-                }
                 case 0x0000018bu:
                 {
                     if (name == BuiltInName::textureProjGradOffset_00d30B10B10B10D)
@@ -45467,7 +45434,7 @@
                     }
                     break;
                 }
-                case 0x00000356u:
+                case 0x00000357u:
                 {
                     if (name == BuiltInName::textureGrad_00a20B10B10B)
                     {
@@ -45475,7 +45442,7 @@
                     }
                     break;
                 }
-                case 0x00000361u:
+                case 0x00000362u:
                 {
                     if (name == BuiltInName::textureProjGrad_00d30B10B10B)
                     {
@@ -45483,7 +45450,7 @@
                     }
                     break;
                 }
-                case 0x00000364u:
+                case 0x00000365u:
                 {
                     if (name == BuiltInName::texelFetch_00t00D00D)
                     {
@@ -45491,7 +45458,7 @@
                     }
                     break;
                 }
-                case 0x00000366u:
+                case 0x00000367u:
                 {
                     if (name == BuiltInName::max_30E30E)
                     {
@@ -45499,7 +45466,7 @@
                     }
                     break;
                 }
-                case 0x0000036bu:
+                case 0x0000036cu:
                 {
                     if (name == BuiltInName::textureProjLodOffset_00J30B00B20D)
                     {
@@ -45507,7 +45474,7 @@
                     }
                     break;
                 }
-                case 0x00000376u:
+                case 0x00000377u:
                 {
                     if (name == BuiltInName::textureProjLod_00R30B00B)
                     {
@@ -45515,7 +45482,7 @@
                     }
                     break;
                 }
-                case 0x0000037au:
+                case 0x0000037bu:
                 {
                     if (name == BuiltInName::textureLod_00m20B00B)
                     {
@@ -45523,7 +45490,7 @@
                     }
                     break;
                 }
-                case 0x0000037du:
+                case 0x0000037eu:
                 {
                     if (name == BuiltInName::clamp_20D20D20D)
                     {
@@ -45531,7 +45498,7 @@
                     }
                     break;
                 }
-                case 0x00000382u:
+                case 0x00000383u:
                 {
                     if (name == BuiltInName::max_10E00E)
                     {
@@ -45539,7 +45506,7 @@
                     }
                     break;
                 }
-                case 0x00000383u:
+                case 0x00000384u:
                 {
                     if (name == BuiltInName::textureGrad_00U20B10B10B)
                     {
@@ -45547,7 +45514,7 @@
                     }
                     break;
                 }
-                case 0x00000388u:
+                case 0x00000389u:
                 {
                     if (name == BuiltInName::sinh_20B)
                     {
@@ -45555,7 +45522,7 @@
                     }
                     break;
                 }
-                case 0x0000038cu:
+                case 0x0000038du:
                 {
                     if (name == BuiltInName::textureGradOffset_00m20B00B00B00D)
                     {
@@ -45563,7 +45530,7 @@
                     }
                     break;
                 }
-                case 0x00000390u:
+                case 0x00000391u:
                 {
                     if (name == BuiltInName::asinh_30B)
                     {
@@ -45571,7 +45538,7 @@
                     }
                     break;
                 }
-                case 0x0000039fu:
+                case 0x000003a0u:
                 {
                     if (name == BuiltInName::isnan_00B)
                     {
@@ -45579,7 +45546,7 @@
                     }
                     break;
                 }
-                case 0x000003a3u:
+                case 0x000003a4u:
                 {
                     if (name == BuiltInName::textureProjGrad_00o10B00B00B)
                     {
@@ -45587,7 +45554,7 @@
                     }
                     break;
                 }
-                case 0x000003a6u:
+                case 0x000003a8u:
                 {
                     if (name == BuiltInName::min_00E00E)
                     {
@@ -45595,7 +45562,7 @@
                     }
                     break;
                 }
-                case 0x000003a8u:
+                case 0x000003aau:
                 {
                     if (name == BuiltInName::textureGradOffset_00I10B10B10B10D)
                     {
@@ -45603,7 +45570,7 @@
                     }
                     break;
                 }
-                case 0x000003a9u:
+                case 0x000003abu:
                 {
                     if (name == BuiltInName::textureLodOffset_00J20B00B20D)
                     {
@@ -45611,7 +45578,7 @@
                     }
                     break;
                 }
-                case 0x000003aeu:
+                case 0x000003b0u:
                 {
                     if (name == BuiltInName::textureOffset_00i20B00D)
                     {
@@ -45619,7 +45586,7 @@
                     }
                     break;
                 }
-                case 0x000003b0u:
+                case 0x000003b2u:
                 {
                     if (name == BuiltInName::textureLod_00a20B00B)
                     {
@@ -45627,7 +45594,7 @@
                     }
                     break;
                 }
-                case 0x000003b8u:
+                case 0x000003bau:
                 {
                     if (name == BuiltInName::textureOffset_00R10B10D)
                     {
@@ -45635,7 +45602,7 @@
                     }
                     break;
                 }
-                case 0x000003bau:
+                case 0x000003bcu:
                 {
                     if (name == BuiltInName::textureProjGradOffset_00R20B10B10B10D)
                     {
@@ -45643,7 +45610,7 @@
                     }
                     break;
                 }
-                case 0x000003c8u:
+                case 0x000003cau:
                 {
                     if (name == BuiltInName::abs_00D)
                     {
@@ -45651,7 +45618,7 @@
                     }
                     break;
                 }
-                case 0x000003cbu:
+                case 0x000003cdu:
                 {
                     if (name == BuiltInName::textureLod_00R10B00B)
                     {
@@ -45659,7 +45626,7 @@
                     }
                     break;
                 }
-                case 0x000003ccu:
+                case 0x000003ceu:
                 {
                     if (name == BuiltInName::textureLodOffset_00U20B00B10D)
                     {
@@ -45667,7 +45634,7 @@
                     }
                     break;
                 }
-                case 0x000003d3u:
+                case 0x000003d5u:
                 {
                     if (name == BuiltInName::textureProjGradOffset_00X20B10B10B10D)
                     {
@@ -45675,1311 +45642,7 @@
                     }
                     break;
                 }
-                case 0x000003d8u:
-                {
-                    if (name == BuiltInName::equal_30E30E)
-                    {
-                        return &BuiltInFunction::function_equal_30E30E;
-                    }
-                    break;
-                }
-                case 0x000003efu:
-                {
-                    if (name == BuiltInName::min_10D00D)
-                    {
-                        return &BuiltInFunction::function_min_10D00D;
-                    }
-                    break;
-                }
-                case 0x00000407u:
-                {
-                    if (name == BuiltInName::texelFetch_00X10D00D)
-                    {
-                        return &BuiltInFunction::function_texelFetch_00X10D00D;
-                    }
-                    break;
-                }
-                case 0x0000041au:
-                {
-                    if (name == BuiltInName::textureLod_00S20B00B)
-                    {
-                        return &BuiltInFunction::function_textureLod_00S20B00B;
-                    }
-                    break;
-                }
-                case 0x00000421u:
-                {
-                    if (name == BuiltInName::mix_30B30B30F)
-                    {
-                        return &BuiltInFunction::function_mix_30B30B30F;
-                    }
-                    break;
-                }
-                case 0x0000042au:
-                {
-                    if (name == BuiltInName::max_30D30D)
-                    {
-                        return &BuiltInFunction::function_max_30D30D;
-                    }
-                    break;
-                }
-                case 0x00000433u:
-                {
-                    if (name == BuiltInName::textureGradOffset_00U20B10B10B10D)
-                    {
-                        return &BuiltInFunction::function_textureGradOffset_00U20B10B10B10D;
-                    }
-                    break;
-                }
-                case 0x00000437u:
-                {
-                    if (name == BuiltInName::textureGradOffset_00L20B10B10B10D)
-                    {
-                        return &BuiltInFunction::function_textureGradOffset_00L20B10B10B10D;
-                    }
-                    break;
-                }
-                case 0x00000440u:
-                {
-                    if (name == BuiltInName::textureProjLod_00S30B00B)
-                    {
-                        return &BuiltInFunction::function_textureProjLod_00S30B00B;
-                    }
-                    break;
-                }
-                case 0x00000441u:
-                {
-                    if (name == BuiltInName::textureProjGrad_00R20B10B10B)
-                    {
-                        return &BuiltInFunction::function_textureProjGrad_00R20B10B10B;
-                    }
-                    break;
-                }
-                case 0x00000447u:
-                {
-                    if (name == BuiltInName::textureProjGrad_00I20B10B10B)
-                    {
-                        return &BuiltInFunction::function_textureProjGrad_00I20B10B10B;
-                    }
-                    break;
-                }
-                case 0x00000459u:
-                {
-                    if (name == BuiltInName::textureProjLodOffset_00X30B00B10D)
-                    {
-                        return &BuiltInFunction::function_textureProjLodOffset_00X30B00B10D;
-                    }
-                    break;
-                }
-                case 0x0000045bu:
-                {
-                    if (name == BuiltInName::textureProjLod_00m30B00B)
-                    {
-                        return &BuiltInFunction::function_textureProjLod_00m30B00B;
-                    }
-                    break;
-                }
-                case 0x0000045du:
-                {
-                    if (name == BuiltInName::texelFetchOffset_00U20D00D10D)
-                    {
-                        return &BuiltInFunction::function_texelFetchOffset_00U20D00D10D;
-                    }
-                    break;
-                }
-                case 0x00000461u:
-                {
-                    if (name == BuiltInName::textureGradOffset_00d20B10B10B10D)
-                    {
-                        return &BuiltInFunction::function_textureGradOffset_00d20B10B10B10D;
-                    }
-                    break;
-                }
-                case 0x00000463u:
-                {
-                    if (name == BuiltInName::textureProjOffset_00d30B10D)
-                    {
-                        return &BuiltInFunction::function_textureProjOffset_00d30B10D;
-                    }
-                    break;
-                }
-                case 0x00000471u:
-                {
-                    if (name == BuiltInName::isnan_10B)
-                    {
-                        return &BuiltInFunction::function_isnan_10B;
-                    }
-                    break;
-                }
-                case 0x00000476u:
-                {
-                    if (name == BuiltInName::textureGrad_00R00B00B00B)
-                    {
-                        return &BuiltInFunction::function_textureGrad_00R00B00B00B;
-                    }
-                    break;
-                }
-                case 0x00000479u:
-                {
-                    if (name == BuiltInName::textureProjLodOffset_00o30B00B00D)
-                    {
-                        return &BuiltInFunction::function_textureProjLodOffset_00o30B00B00D;
-                    }
-                    break;
-                }
-                case 0x0000047au:
-                {
-                    if (name == BuiltInName::textureSize_00X00D)
-                    {
-                        return &BuiltInFunction::function_textureSize_00X00D;
-                    }
-                    break;
-                }
-                case 0x0000047du:
-                {
-                    if (name == BuiltInName::clamp_30D00D00D)
-                    {
-                        return &BuiltInFunction::function_clamp_30D00D00D;
-                    }
-                    break;
-                }
-                case 0x00000488u:
-                {
-                    if (name == BuiltInName::textureGradOffset_00i20B00B00B00D)
-                    {
-                        return &BuiltInFunction::function_textureGradOffset_00i20B00B00B00D;
-                    }
-                    break;
-                }
-                case 0x00000493u:
-                {
-                    if (name == BuiltInName::textureOffset_00t00B00D)
-                    {
-                        return &BuiltInFunction::function_textureOffset_00t00B00D;
-                    }
-                    break;
-                }
-                case 0x00000498u:
-                {
-                    if (name == BuiltInName::modf_00B00B)
-                    {
-                        return &BuiltInFunction::function_modf_00B00B;
-                    }
-                    break;
-                }
-                case 0x000004a2u:
-                {
-                    if (name == BuiltInName::textureLodOffset_00i20B00B00D)
-                    {
-                        return &BuiltInFunction::function_textureLodOffset_00i20B00B00D;
-                    }
-                    break;
-                }
-                case 0x000004a7u:
-                {
-                    if (name == BuiltInName::isnan_30B)
-                    {
-                        return &BuiltInFunction::function_isnan_30B;
-                    }
-                    break;
-                }
-                case 0x000004a8u:
-                {
-                    if (name == BuiltInName::textureProjOffset_00o30B00D)
-                    {
-                        return &BuiltInFunction::function_textureProjOffset_00o30B00D;
-                    }
-                    break;
-                }
-                case 0x000004aeu:
-                {
-                    if (name == BuiltInName::textureGrad_00I10B10B10B)
-                    {
-                        return &BuiltInFunction::function_textureGrad_00I10B10B10B;
-                    }
-                    break;
-                }
-                case 0x000004bdu:
-                {
-                    if (name == BuiltInName::min_10D10D)
-                    {
-                        return &BuiltInFunction::function_min_10D10D;
-                    }
-                    break;
-                }
-                case 0x000004cbu:
-                {
-                    if (name == BuiltInName::texture_00u20B)
-                    {
-                        return &BuiltInFunction::function_texture_00u20B;
-                    }
-                    break;
-                }
-                case 0x000004d2u:
-                {
-                    if (name == BuiltInName::textureLodOffset_00I10B00B10D)
-                    {
-                        return &BuiltInFunction::function_textureLodOffset_00I10B00B10D;
-                    }
-                    break;
-                }
-                case 0x000004d6u:
-                {
-                    if (name == BuiltInName::textureOffset_00U20B10D)
-                    {
-                        return &BuiltInFunction::function_textureOffset_00U20B10D;
-                    }
-                    break;
-                }
-                case 0x000004e3u:
-                {
-                    if (name == BuiltInName::textureGrad_00L20B10B10B)
-                    {
-                        return &BuiltInFunction::function_textureGrad_00L20B10B10B;
-                    }
-                    break;
-                }
-                case 0x000004e6u:
-                {
-                    if (name == BuiltInName::textureSize_00o00D)
-                    {
-                        return &BuiltInFunction::function_textureSize_00o00D;
-                    }
-                    break;
-                }
-                case 0x000004eeu:
-                {
-                    if (name == BuiltInName::notEqual_30E30E)
-                    {
-                        return &BuiltInFunction::function_notEqual_30E30E;
-                    }
-                    break;
-                }
-                case 0x000004f5u:
-                {
-                    if (name == BuiltInName::textureGrad_00u10B00B00B)
-                    {
-                        return &BuiltInFunction::function_textureGrad_00u10B00B00B;
-                    }
-                    break;
-                }
-                case 0x00000504u:
-                {
-                    if (name == BuiltInName::textureProjGrad_00m30B00B00B)
-                    {
-                        return &BuiltInFunction::function_textureProjGrad_00m30B00B00B;
-                    }
-                    break;
-                }
-                case 0x00000508u:
-                {
-                    if (name == BuiltInName::textureLod_00J20B00B)
-                    {
-                        return &BuiltInFunction::function_textureLod_00J20B00B;
-                    }
-                    break;
-                }
-                case 0x0000050du:
-                {
-                    if (name == BuiltInName::textureSize_00I00D)
-                    {
-                        return &BuiltInFunction::function_textureSize_00I00D;
-                    }
-                    break;
-                }
-                case 0x0000050fu:
-                {
-                    if (name == BuiltInName::texelFetchOffset_00R10D00D10D)
-                    {
-                        return &BuiltInFunction::function_texelFetchOffset_00R10D00D10D;
-                    }
-                    break;
-                }
-                case 0x00000514u:
-                {
-                    if (name == BuiltInName::textureLodOffset_00X10B00B10D)
-                    {
-                        return &BuiltInFunction::function_textureLodOffset_00X10B00B10D;
-                    }
-                    break;
-                }
-                case 0x0000051fu:
-                {
-                    if (name == BuiltInName::textureProjLod_00R20B00B)
-                    {
-                        return &BuiltInFunction::function_textureProjLod_00R20B00B;
-                    }
-                    break;
-                }
-                case 0x00000522u:
-                {
-                    if (name == BuiltInName::textureProjOffset_00I20B10D)
-                    {
-                        return &BuiltInFunction::function_textureProjOffset_00I20B10D;
-                    }
-                    break;
-                }
-                case 0x00000532u:
-                {
-                    if (name == BuiltInName::textureGradOffset_00u10B00B00B00D)
-                    {
-                        return &BuiltInFunction::function_textureGradOffset_00u10B00B00B00D;
-                    }
-                    break;
-                }
-                case 0x00000552u:
-                {
-                    if (name == BuiltInName::max_10D00D)
-                    {
-                        return &BuiltInFunction::function_max_10D00D;
-                    }
-                    break;
-                }
-                case 0x00000555u:
-                {
-                    if (name == BuiltInName::clamp_00D00D00D)
-                    {
-                        return &BuiltInFunction::function_clamp_00D00D00D;
-                    }
-                    break;
-                }
-                case 0x0000055au:
-                {
-                    if (name == BuiltInName::textureProjGradOffset_00S30B20B20B20D)
-                    {
-                        return &BuiltInFunction::function_textureProjGradOffset_00S30B20B20B20D;
-                    }
-                    break;
-                }
-                case 0x00000563u:
-                {
-                    if (name == BuiltInName::texelFetchOffset_00S20D00D20D)
-                    {
-                        return &BuiltInFunction::function_texelFetchOffset_00S20D00D20D;
-                    }
-                    break;
-                }
-                case 0x00000566u:
-                {
-                    if (name == BuiltInName::textureSize_00g00D)
-                    {
-                        return &BuiltInFunction::function_textureSize_00g00D;
-                    }
-                    break;
-                }
-                case 0x00000573u:
-                {
-                    if (name == BuiltInName::textureProjLod_00g30B00B)
-                    {
-                        return &BuiltInFunction::function_textureProjLod_00g30B00B;
-                    }
-                    break;
-                }
-                case 0x0000057fu:
-                {
-                    if (name == BuiltInName::textureProjLod_00t10B00B)
-                    {
-                        return &BuiltInFunction::function_textureProjLod_00t10B00B;
-                    }
-                    break;
-                }
-                case 0x00000592u:
-                {
-                    if (name == BuiltInName::min_30E00E)
-                    {
-                        return &BuiltInFunction::function_min_30E00E;
-                    }
-                    break;
-                }
-                case 0x000005a4u:
-                {
-                    if (name == BuiltInName::roundEven_10B)
-                    {
-                        return &BuiltInFunction::function_roundEven_10B;
-                    }
-                    break;
-                }
-                case 0x000005a6u:
-                {
-                    if (name == BuiltInName::atanh_30B)
-                    {
-                        return &BuiltInFunction::function_atanh_30B;
-                    }
-                    break;
-                }
-                case 0x000005a7u:
-                {
-                    if (name == BuiltInName::textureLod_00K20B00B)
-                    {
-                        return &BuiltInFunction::function_textureLod_00K20B00B;
-                    }
-                    break;
-                }
-                case 0x000005aau:
-                {
-                    if (name == BuiltInName::texelFetch_00L20D00D)
-                    {
-                        return &BuiltInFunction::function_texelFetch_00L20D00D;
-                    }
-                    break;
-                }
-                case 0x000005afu:
-                {
-                    if (name == BuiltInName::textureSize_00U00D)
-                    {
-                        return &BuiltInFunction::function_textureSize_00U00D;
-                    }
-                    break;
-                }
-                case 0x000005bdu:
-                {
-                    if (name == BuiltInName::mix_10B10B10F)
-                    {
-                        return &BuiltInFunction::function_mix_10B10B10F;
-                    }
-                    break;
-                }
-                case 0x000005c7u:
-                {
-                    if (name == BuiltInName::notEqual_20E20E)
-                    {
-                        return &BuiltInFunction::function_notEqual_20E20E;
-                    }
-                    break;
-                }
-                case 0x000005c8u:
-                {
-                    if (name == BuiltInName::textureLodOffset_00d20B00B10D)
-                    {
-                        return &BuiltInFunction::function_textureLodOffset_00d20B00B10D;
-                    }
-                    break;
-                }
-                case 0x000005cau:
-                {
-                    if (name == BuiltInName::textureProjGrad_00X20B10B10B)
-                    {
-                        return &BuiltInFunction::function_textureProjGrad_00X20B10B10B;
-                    }
-                    break;
-                }
-                case 0x000005ccu:
-                {
-                    if (name == BuiltInName::textureSize_00Y00D)
-                    {
-                        return &BuiltInFunction::function_textureSize_00Y00D;
-                    }
-                    break;
-                }
-                case 0x000005d9u:
-                {
-                    if (name == BuiltInName::textureProjLodOffset_00g10B00B00D)
-                    {
-                        return &BuiltInFunction::function_textureProjLodOffset_00g10B00B00D;
-                    }
-                    break;
-                }
-                case 0x000005e0u:
-                {
-                    if (name == BuiltInName::textureLod_00u10B00B)
-                    {
-                        return &BuiltInFunction::function_textureLod_00u10B00B;
-                    }
-                    break;
-                }
-                case 0x000005e1u:
-                {
-                    if (name == BuiltInName::textureProjGradOffset_00m30B00B00B00D)
-                    {
-                        return &BuiltInFunction::function_textureProjGradOffset_00m30B00B00B00D;
-                    }
-                    break;
-                }
-                case 0x000005e5u:
-                {
-                    if (name == BuiltInName::textureProjGradOffset_00o30B00B00B00D)
-                    {
-                        return &BuiltInFunction::function_textureProjGradOffset_00o30B00B00B00D;
-                    }
-                    break;
-                }
-                case 0x000005edu:
-                {
-                    if (name == BuiltInName::textureLod_00g00B00B)
-                    {
-                        return &BuiltInFunction::function_textureLod_00g00B00B;
-                    }
-                    break;
-                }
-                case 0x000005f4u:
-                {
-                    if (name == BuiltInName::textureProjOffset_00o10B00D)
-                    {
-                        return &BuiltInFunction::function_textureProjOffset_00o10B00D;
-                    }
-                    break;
-                }
-                case 0x000005f7u:
-                {
-                    if (name == BuiltInName::textureGradOffset_00f30B10B10B10D)
-                    {
-                        return &BuiltInFunction::function_textureGradOffset_00f30B10B10B10D;
-                    }
-                    break;
-                }
-                case 0x000005f8u:
-                {
-                    if (name == BuiltInName::max_20D20D)
-                    {
-                        return &BuiltInFunction::function_max_20D20D;
-                    }
-                    break;
-                }
-                case 0x000005f9u:
-                {
-                    if (name == BuiltInName::max_10D10D)
-                    {
-                        return &BuiltInFunction::function_max_10D10D;
-                    }
-                    break;
-                }
-                case 0x000005fbu:
-                {
-                    if (name == BuiltInName::textureGradOffset_00t00B00B00B00D)
-                    {
-                        return &BuiltInFunction::function_textureGradOffset_00t00B00B00B00D;
-                    }
-                    break;
-                }
-                case 0x000005ffu:
-                {
-                    if (name == BuiltInName::texelFetchOffset_00t00D00D00D)
-                    {
-                        return &BuiltInFunction::function_texelFetchOffset_00t00D00D00D;
-                    }
-                    break;
-                }
-                case 0x00000608u:
-                {
-                    if (name == BuiltInName::textureGradOffset_00Y20B20B20B20D)
-                    {
-                        return &BuiltInFunction::function_textureGradOffset_00Y20B20B20B20D;
-                    }
-                    break;
-                }
-                case 0x0000060bu:
-                {
-                    if (name == BuiltInName::textureGrad_00f30B10B10B)
-                    {
-                        return &BuiltInFunction::function_textureGrad_00f30B10B10B;
-                    }
-                    break;
-                }
-                case 0x0000060eu:
-                {
-                    if (name == BuiltInName::modf_20B20B)
-                    {
-                        return &BuiltInFunction::function_modf_20B20B;
-                    }
-                    break;
-                }
-                case 0x00000621u:
-                {
-                    if (name == BuiltInName::textureProjLod_00X30B00B)
-                    {
-                        return &BuiltInFunction::function_textureProjLod_00X30B00B;
-                    }
-                    break;
-                }
-                case 0x00000622u:
-                {
-                    if (name == BuiltInName::textureProjGradOffset_00I30B10B10B10D)
-                    {
-                        return &BuiltInFunction::function_textureProjGradOffset_00I30B10B10B10D;
-                    }
-                    break;
-                }
-                case 0x00000623u:
-                {
-                    if (name == BuiltInName::cosh_30B)
-                    {
-                        return &BuiltInFunction::function_cosh_30B;
-                    }
-                    break;
-                }
-                case 0x0000063fu:
-                {
-                    if (name == BuiltInName::lessThan_20E20E)
-                    {
-                        return &BuiltInFunction::function_lessThan_20E20E;
-                    }
-                    break;
-                }
-                case 0x00000640u:
-                {
-                    if (name == BuiltInName::textureLod_00X10B00B)
-                    {
-                        return &BuiltInFunction::function_textureLod_00X10B00B;
-                    }
-                    break;
-                }
-                case 0x00000643u:
-                {
-                    if (name == BuiltInName::cosh_00B)
-                    {
-                        return &BuiltInFunction::function_cosh_00B;
-                    }
-                    break;
-                }
-                case 0x00000647u:
-                {
-                    if (name == BuiltInName::textureLod_00Z20B00B)
-                    {
-                        return &BuiltInFunction::function_textureLod_00Z20B00B;
-                    }
-                    break;
-                }
-                case 0x00000648u:
-                {
-                    if (name == BuiltInName::sign_00D)
-                    {
-                        return &BuiltInFunction::function_sign_00D;
-                    }
-                    break;
-                }
-                case 0x00000649u:
-                {
-                    if (name == BuiltInName::textureOffset_00Y20B20D)
-                    {
-                        return &BuiltInFunction::function_textureOffset_00Y20B20D;
-                    }
-                    break;
-                }
-                case 0x00000654u:
-                {
-                    if (name == BuiltInName::textureProjLodOffset_00R30B00B10D)
-                    {
-                        return &BuiltInFunction::function_textureProjLodOffset_00R30B00B10D;
-                    }
-                    break;
-                }
-                case 0x00000655u:
-                {
-                    if (name == BuiltInName::textureGrad_00h10B00B00B)
-                    {
-                        return &BuiltInFunction::function_textureGrad_00h10B00B00B;
-                    }
-                    break;
-                }
-                case 0x0000065cu:
-                {
-                    if (name == BuiltInName::textureProjLod_00t30B00B)
-                    {
-                        return &BuiltInFunction::function_textureProjLod_00t30B00B;
-                    }
-                    break;
-                }
-                case 0x0000065du:
-                {
-                    if (name == BuiltInName::textureOffset_00o00B00D)
-                    {
-                        return &BuiltInFunction::function_textureOffset_00o00B00D;
-                    }
-                    break;
-                }
-                case 0x00000663u:
-                {
-                    if (name == BuiltInName::roundEven_00B)
-                    {
-                        return &BuiltInFunction::function_roundEven_00B;
-                    }
-                    break;
-                }
-                case 0x00000665u:
-                {
-                    if (name == BuiltInName::atanh_20B)
-                    {
-                        return &BuiltInFunction::function_atanh_20B;
-                    }
-                    break;
-                }
-                case 0x00000666u:
-                {
-                    if (name == BuiltInName::clamp_10E00E00E)
-                    {
-                        return &BuiltInFunction::function_clamp_10E00E00E;
-                    }
-                    break;
-                }
-                case 0x0000066au:
-                {
-                    if (name == BuiltInName::textureProjOffset_00X30B10D)
-                    {
-                        return &BuiltInFunction::function_textureProjOffset_00X30B10D;
-                    }
-                    break;
-                }
-                case 0x0000066fu:
-                {
-                    if (name == BuiltInName::texelFetch_00g00D00D)
-                    {
-                        return &BuiltInFunction::function_texelFetch_00g00D00D;
-                    }
-                    break;
-                }
-                case 0x00000676u:
-                {
-                    if (name == BuiltInName::clamp_30D30D30D)
-                    {
-                        return &BuiltInFunction::function_clamp_30D30D30D;
-                    }
-                    break;
-                }
-                case 0x00000695u:
-                {
-                    if (name == BuiltInName::textureProjLodOffset_00d30B00B10D)
-                    {
-                        return &BuiltInFunction::function_textureProjLodOffset_00d30B00B10D;
-                    }
-                    break;
-                }
-                case 0x00000698u:
-                {
-                    if (name == BuiltInName::textureProjLodOffset_00I30B00B10D)
-                    {
-                        return &BuiltInFunction::function_textureProjLodOffset_00I30B00B10D;
-                    }
-                    break;
-                }
-                case 0x000006a1u:
-                {
-                    if (name == BuiltInName::texture_00J20B)
-                    {
-                        return &BuiltInFunction::function_texture_00J20B;
-                    }
-                    break;
-                }
-                case 0x000006a5u:
-                {
-                    if (name == BuiltInName::textureSize_00d00D)
-                    {
-                        return &BuiltInFunction::function_textureSize_00d00D;
-                    }
-                    break;
-                }
-                case 0x000006b5u:
-                {
-                    if (name == BuiltInName::textureProjOffset_00m30B00D)
-                    {
-                        return &BuiltInFunction::function_textureProjOffset_00m30B00D;
-                    }
-                    break;
-                }
-                case 0x000006b7u:
-                {
-                    if (name == BuiltInName::equal_10E10E)
-                    {
-                        return &BuiltInFunction::function_equal_10E10E;
-                    }
-                    break;
-                }
-                case 0x000006bcu:
-                {
-                    if (name == BuiltInName::textureProjOffset_00J30B20D)
-                    {
-                        return &BuiltInFunction::function_textureProjOffset_00J30B20D;
-                    }
-                    break;
-                }
-                case 0x000006c0u:
-                {
-                    if (name == BuiltInName::notEqual_10E10E)
-                    {
-                        return &BuiltInFunction::function_notEqual_10E10E;
-                    }
-                    break;
-                }
-                case 0x000006c2u:
-                {
-                    if (name == BuiltInName::textureProjGrad_00t10B00B00B)
-                    {
-                        return &BuiltInFunction::function_textureProjGrad_00t10B00B00B;
-                    }
-                    break;
-                }
-                case 0x000006cfu:
-                {
-                    if (name == BuiltInName::textureLodOffset_00R10B00B10D)
-                    {
-                        return &BuiltInFunction::function_textureLodOffset_00R10B00B10D;
-                    }
-                    break;
-                }
-                case 0x000006d0u:
-                {
-                    if (name == BuiltInName::trunc_10B)
-                    {
-                        return &BuiltInFunction::function_trunc_10B;
-                    }
-                    break;
-                }
-                case 0x000006d3u:
-                {
-                    if (name == BuiltInName::texelFetch_00u10D00D)
-                    {
-                        return &BuiltInFunction::function_texelFetch_00u10D00D;
-                    }
-                    break;
-                }
-                case 0x000006d9u:
-                {
-                    if (name == BuiltInName::textureProjGrad_00g30B00B00B)
-                    {
-                        return &BuiltInFunction::function_textureProjGrad_00g30B00B00B;
-                    }
-                    break;
-                }
-                case 0x000006ddu:
-                {
-                    if (name == BuiltInName::max_00E00E)
-                    {
-                        return &BuiltInFunction::function_max_00E00E;
-                    }
-                    break;
-                }
-                case 0x000006e1u:
-                {
-                    if (name == BuiltInName::textureProj_00o10B)
-                    {
-                        return &BuiltInFunction::function_textureProj_00o10B;
-                    }
-                    break;
-                }
-                case 0x000006ebu:
-                {
-                    if (name == BuiltInName::texelFetchOffset_00u10D00D00D)
-                    {
-                        return &BuiltInFunction::function_texelFetchOffset_00u10D00D00D;
-                    }
-                    break;
-                }
-                case 0x000006fbu:
-                {
-                    if (name == BuiltInName::textureProjGrad_00I30B10B10B)
-                    {
-                        return &BuiltInFunction::function_textureProjGrad_00I30B10B10B;
-                    }
-                    break;
-                }
-                case 0x000006fdu:
-                {
-                    if (name == BuiltInName::textureOffset_00d20B10D)
-                    {
-                        return &BuiltInFunction::function_textureOffset_00d20B10D;
-                    }
-                    break;
-                }
-                case 0x00000702u:
-                {
-                    if (name == BuiltInName::textureProjGradOffset_00t30B00B00B00D)
-                    {
-                        return &BuiltInFunction::function_textureProjGradOffset_00t30B00B00B00D;
-                    }
-                    break;
-                }
-                case 0x00000703u:
-                {
-                    if (name == BuiltInName::min_20E20E)
-                    {
-                        return &BuiltInFunction::function_min_20E20E;
-                    }
-                    break;
-                }
-                case 0x0000070du:
-                {
-                    if (name == BuiltInName::lessThan_30E30E)
-                    {
-                        return &BuiltInFunction::function_lessThan_30E30E;
-                    }
-                    break;
-                }
-                case 0x00000716u:
-                {
-                    if (name == BuiltInName::textureLod_00Y20B00B)
-                    {
-                        return &BuiltInFunction::function_textureLod_00Y20B00B;
-                    }
-                    break;
-                }
-                case 0x00000719u:
-                {
-                    if (name == BuiltInName::min_20D00D)
-                    {
-                        return &BuiltInFunction::function_min_20D00D;
-                    }
-                    break;
-                }
-                case 0x00000724u:
-                {
-                    if (name == BuiltInName::tanh_00B)
-                    {
-                        return &BuiltInFunction::function_tanh_00B;
-                    }
-                    break;
-                }
-                case 0x00000730u:
-                {
-                    if (name == BuiltInName::texelFetch_00h10D00D)
-                    {
-                        return &BuiltInFunction::function_texelFetch_00h10D00D;
-                    }
-                    break;
-                }
-                case 0x00000738u:
-                {
-                    if (name == BuiltInName::textureGrad_00d20B10B10B)
-                    {
-                        return &BuiltInFunction::function_textureGrad_00d20B10B10B;
-                    }
-                    break;
-                }
-                case 0x00000740u:
-                {
-                    if (name == BuiltInName::textureProjLod_00I20B00B)
-                    {
-                        return &BuiltInFunction::function_textureProjLod_00I20B00B;
-                    }
-                    break;
-                }
-                case 0x00000744u:
-                {
-                    if (name == BuiltInName::texture_00T20B)
-                    {
-                        return &BuiltInFunction::function_texture_00T20B;
-                    }
-                    break;
-                }
-                case 0x00000750u:
-                {
-                    if (name == BuiltInName::clamp_10D10D10D)
-                    {
-                        return &BuiltInFunction::function_clamp_10D10D10D;
-                    }
-                    break;
-                }
-                case 0x00000755u:
-                {
-                    if (name == BuiltInName::textureGradOffset_00S20B20B20B20D)
-                    {
-                        return &BuiltInFunction::function_textureGradOffset_00S20B20B20B20D;
-                    }
-                    break;
-                }
-                case 0x00000757u:
-                {
-                    if (name == BuiltInName::clamp_30E30E30E)
-                    {
-                        return &BuiltInFunction::function_clamp_30E30E30E;
-                    }
-                    break;
-                }
-                case 0x00000758u:
-                {
-                    if (name == BuiltInName::textureSize_00R00D)
-                    {
-                        return &BuiltInFunction::function_textureSize_00R00D;
-                    }
-                    break;
-                }
-                case 0x0000075au:
-                {
-                    if (name == BuiltInName::acosh_10B)
-                    {
-                        return &BuiltInFunction::function_acosh_10B;
-                    }
-                    break;
-                }
-                case 0x00000763u:
-                {
-                    if (name == BuiltInName::textureProjLod_00J30B00B)
-                    {
-                        return &BuiltInFunction::function_textureProjLod_00J30B00B;
-                    }
-                    break;
-                }
-                case 0x0000076bu:
-                {
-                    if (name == BuiltInName::max_20D00D)
-                    {
-                        return &BuiltInFunction::function_max_20D00D;
-                    }
-                    break;
-                }
-                case 0x0000076cu:
-                {
-                    if (name == BuiltInName::texelFetchOffset_00I10D00D10D)
-                    {
-                        return &BuiltInFunction::function_texelFetchOffset_00I10D00D10D;
-                    }
-                    break;
-                }
-                case 0x00000770u:
-                {
-                    if (name == BuiltInName::textureGrad_00m20B00B00B)
-                    {
-                        return &BuiltInFunction::function_textureGrad_00m20B00B00B;
-                    }
-                    break;
-                }
-                case 0x0000077au:
-                {
-                    if (name == BuiltInName::textureGradOffset_00h10B00B00B00D)
-                    {
-                        return &BuiltInFunction::function_textureGradOffset_00h10B00B00B00D;
-                    }
-                    break;
-                }
-                case 0x00000780u:
-                {
-                    if (name == BuiltInName::textureProjLodOffset_00t10B00B00D)
-                    {
-                        return &BuiltInFunction::function_textureProjLodOffset_00t10B00B00D;
-                    }
-                    break;
-                }
-                case 0x00000782u:
-                {
-                    if (name == BuiltInName::trunc_00B)
-                    {
-                        return &BuiltInFunction::function_trunc_00B;
-                    }
-                    break;
-                }
-                case 0x0000078cu:
-                {
-                    if (name == BuiltInName::textureLod_00T20B00B)
-                    {
-                        return &BuiltInFunction::function_textureLod_00T20B00B;
-                    }
-                    break;
-                }
-                case 0x0000078du:
-                {
-                    if (name == BuiltInName::textureProjGrad_00R30B10B10B)
-                    {
-                        return &BuiltInFunction::function_textureProjGrad_00R30B10B10B;
-                    }
-                    break;
-                }
-                case 0x00000790u:
-                {
-                    if (name == BuiltInName::textureProjGradOffset_00X30B10B10B10D)
-                    {
-                        return &BuiltInFunction::function_textureProjGradOffset_00X30B10B10B10D;
-                    }
-                    break;
-                }
-                case 0x00000793u:
-                {
-                    if (name == BuiltInName::textureGrad_00S20B20B20B)
-                    {
-                        return &BuiltInFunction::function_textureGrad_00S20B20B20B;
-                    }
-                    break;
-                }
-                case 0x00000795u:
-                {
-                    if (name == BuiltInName::textureSize_00t00D)
-                    {
-                        return &BuiltInFunction::function_textureSize_00t00D;
-                    }
-                    break;
-                }
-                case 0x0000079cu:
-                {
-                    if (name == BuiltInName::textureProjLod_00o30B00B)
-                    {
-                        return &BuiltInFunction::function_textureProjLod_00o30B00B;
-                    }
-                    break;
-                }
-                case 0x000007a1u:
-                {
-                    if (name == BuiltInName::texture_00L20B)
-                    {
-                        return &BuiltInFunction::function_texture_00L20B;
-                    }
-                    break;
-                }
-                case 0x000007b5u:
-                {
-                    if (name == BuiltInName::isnan_20B)
-                    {
-                        return &BuiltInFunction::function_isnan_20B;
-                    }
-                    break;
-                }
-                case 0x000007bbu:
-                {
-                    if (name == BuiltInName::max_30E00E)
-                    {
-                        return &BuiltInFunction::function_max_30E00E;
-                    }
-                    break;
-                }
-                case 0x000007bcu:
-                {
-                    if (name == BuiltInName::textureLod_00d20B00B)
-                    {
-                        return &BuiltInFunction::function_textureLod_00d20B00B;
-                    }
-                    break;
-                }
-                case 0x000007c6u:
-                {
-                    if (name == BuiltInName::textureProjOffset_00t30B00D)
-                    {
-                        return &BuiltInFunction::function_textureProjOffset_00t30B00D;
-                    }
-                    break;
-                }
-                case 0x000007cdu:
-                {
-                    if (name == BuiltInName::textureLodOffset_00Y20B00B20D)
-                    {
-                        return &BuiltInFunction::function_textureLodOffset_00Y20B00B20D;
-                    }
-                    break;
-                }
-                case 0x000007d1u:
-                {
-                    if (name == BuiltInName::tanh_10B)
-                    {
-                        return &BuiltInFunction::function_tanh_10B;
-                    }
-                    break;
-                }
-                case 0x000007d3u:
-                {
-                    if (name == BuiltInName::textureLod_00h10B00B)
-                    {
-                        return &BuiltInFunction::function_textureLod_00h10B00B;
-                    }
-                    break;
-                }
-                case 0x000007dfu:
-                {
-                    if (name == BuiltInName::textureProjOffset_00t10B00D)
-                    {
-                        return &BuiltInFunction::function_textureProjOffset_00t10B00D;
-                    }
-                    break;
-                }
-                case 0x000007e1u:
-                {
-                    if (name == BuiltInName::textureGrad_00e30B20B20B)
-                    {
-                        return &BuiltInFunction::function_textureGrad_00e30B20B20B;
-                    }
-                    break;
-                }
-                case 0x000007e2u:
-                {
-                    if (name == BuiltInName::textureSize_00J00D)
-                    {
-                        return &BuiltInFunction::function_textureSize_00J00D;
-                    }
-                    break;
-                }
-                case 0x000007edu:
-                {
-                    if (name == BuiltInName::textureGrad_00K20B20B20B)
-                    {
-                        return &BuiltInFunction::function_textureGrad_00K20B20B20B;
-                    }
-                    break;
-                }
-                case 0x000007f5u:
-                {
-                    if (name == BuiltInName::textureGrad_00J20B20B20B)
-                    {
-                        return &BuiltInFunction::function_textureGrad_00J20B20B20B;
-                    }
-                    break;
-                }
-                case 0x000007fdu:
-                {
-                    if (name == BuiltInName::textureProjLodOffset_00Y30B00B20D)
-                    {
-                        return &BuiltInFunction::function_textureProjLodOffset_00Y30B00B20D;
-                    }
-                    break;
-                }
-                case 0x0000080du:
-                {
-                    if (name == BuiltInName::textureOffset_00a20B10D)
-                    {
-                        return &BuiltInFunction::function_textureOffset_00a20B10D;
-                    }
-                    break;
-                }
-                case 0x00000810u:
-                {
-                    if (name == BuiltInName::min_30E30E)
-                    {
-                        return &BuiltInFunction::function_min_30E30E;
-                    }
-                    break;
-                }
-                case 0x00000812u:
-                {
-                    if (name == BuiltInName::textureProjLodOffset_00o10B00B00D)
-                    {
-                        return &BuiltInFunction::function_textureProjLodOffset_00o10B00B00D;
-                    }
-                    break;
-                }
-                case 0x00000816u:
-                {
-                    if (name == BuiltInName::textureGradOffset_00o00B00B00B00D)
-                    {
-                        return &BuiltInFunction::function_textureGradOffset_00o00B00B00B00D;
-                    }
-                    break;
-                }
-                case 0x00000828u:
-                {
-                    if (name == BuiltInName::textureProj_00t30B)
-                    {
-                        return &BuiltInFunction::function_textureProj_00t30B;
-                    }
-                    break;
-                }
-                case 0x00000829u:
-                {
-                    if (name == BuiltInName::textureProjGradOffset_00t10B00B00B00D)
-                    {
-                        return &BuiltInFunction::function_textureProjGradOffset_00t10B00B00B00D;
-                    }
-                    break;
-                }
-                case 0x00000831u:
-                {
-                    if (name == BuiltInName::trunc_30B)
-                    {
-                        return &BuiltInFunction::function_trunc_30B;
-                    }
-                    break;
-                }
-                case 0x0000083du:
-                {
-                    if (name == BuiltInName::min_20E00E)
-                    {
-                        return &BuiltInFunction::function_min_20E00E;
-                    }
-                    break;
-                }
-                case 0x00000853u:
+                case 0x000003d9u:
                 {
                     if (name == BuiltInName::round_20B)
                     {
@@ -46987,7 +45650,1311 @@
                     }
                     break;
                 }
-                case 0x00000857u:
+                case 0x000003dau:
+                {
+                    if (name == BuiltInName::equal_30E30E)
+                    {
+                        return &BuiltInFunction::function_equal_30E30E;
+                    }
+                    break;
+                }
+                case 0x000003f1u:
+                {
+                    if (name == BuiltInName::min_10D00D)
+                    {
+                        return &BuiltInFunction::function_min_10D00D;
+                    }
+                    break;
+                }
+                case 0x00000409u:
+                {
+                    if (name == BuiltInName::texelFetch_00X10D00D)
+                    {
+                        return &BuiltInFunction::function_texelFetch_00X10D00D;
+                    }
+                    break;
+                }
+                case 0x0000041cu:
+                {
+                    if (name == BuiltInName::textureLod_00S20B00B)
+                    {
+                        return &BuiltInFunction::function_textureLod_00S20B00B;
+                    }
+                    break;
+                }
+                case 0x00000423u:
+                {
+                    if (name == BuiltInName::mix_30B30B30F)
+                    {
+                        return &BuiltInFunction::function_mix_30B30B30F;
+                    }
+                    break;
+                }
+                case 0x0000042cu:
+                {
+                    if (name == BuiltInName::max_30D30D)
+                    {
+                        return &BuiltInFunction::function_max_30D30D;
+                    }
+                    break;
+                }
+                case 0x00000435u:
+                {
+                    if (name == BuiltInName::textureGradOffset_00U20B10B10B10D)
+                    {
+                        return &BuiltInFunction::function_textureGradOffset_00U20B10B10B10D;
+                    }
+                    break;
+                }
+                case 0x00000439u:
+                {
+                    if (name == BuiltInName::textureGradOffset_00L20B10B10B10D)
+                    {
+                        return &BuiltInFunction::function_textureGradOffset_00L20B10B10B10D;
+                    }
+                    break;
+                }
+                case 0x00000442u:
+                {
+                    if (name == BuiltInName::textureProjLod_00S30B00B)
+                    {
+                        return &BuiltInFunction::function_textureProjLod_00S30B00B;
+                    }
+                    break;
+                }
+                case 0x00000444u:
+                {
+                    if (name == BuiltInName::textureProjGrad_00R20B10B10B)
+                    {
+                        return &BuiltInFunction::function_textureProjGrad_00R20B10B10B;
+                    }
+                    break;
+                }
+                case 0x0000044au:
+                {
+                    if (name == BuiltInName::textureProjGrad_00I20B10B10B)
+                    {
+                        return &BuiltInFunction::function_textureProjGrad_00I20B10B10B;
+                    }
+                    break;
+                }
+                case 0x0000045cu:
+                {
+                    if (name == BuiltInName::textureProjLodOffset_00X30B00B10D)
+                    {
+                        return &BuiltInFunction::function_textureProjLodOffset_00X30B00B10D;
+                    }
+                    break;
+                }
+                case 0x0000045eu:
+                {
+                    if (name == BuiltInName::textureProjLod_00m30B00B)
+                    {
+                        return &BuiltInFunction::function_textureProjLod_00m30B00B;
+                    }
+                    break;
+                }
+                case 0x00000460u:
+                {
+                    if (name == BuiltInName::texelFetchOffset_00U20D00D10D)
+                    {
+                        return &BuiltInFunction::function_texelFetchOffset_00U20D00D10D;
+                    }
+                    break;
+                }
+                case 0x00000464u:
+                {
+                    if (name == BuiltInName::textureGradOffset_00d20B10B10B10D)
+                    {
+                        return &BuiltInFunction::function_textureGradOffset_00d20B10B10B10D;
+                    }
+                    break;
+                }
+                case 0x00000466u:
+                {
+                    if (name == BuiltInName::textureProjOffset_00d30B10D)
+                    {
+                        return &BuiltInFunction::function_textureProjOffset_00d30B10D;
+                    }
+                    break;
+                }
+                case 0x00000474u:
+                {
+                    if (name == BuiltInName::isnan_10B)
+                    {
+                        return &BuiltInFunction::function_isnan_10B;
+                    }
+                    break;
+                }
+                case 0x00000479u:
+                {
+                    if (name == BuiltInName::textureGrad_00R00B00B00B)
+                    {
+                        return &BuiltInFunction::function_textureGrad_00R00B00B00B;
+                    }
+                    break;
+                }
+                case 0x0000047cu:
+                {
+                    if (name == BuiltInName::textureProjLodOffset_00o30B00B00D)
+                    {
+                        return &BuiltInFunction::function_textureProjLodOffset_00o30B00B00D;
+                    }
+                    break;
+                }
+                case 0x0000047du:
+                {
+                    if (name == BuiltInName::textureSize_00X00D)
+                    {
+                        return &BuiltInFunction::function_textureSize_00X00D;
+                    }
+                    break;
+                }
+                case 0x00000480u:
+                {
+                    if (name == BuiltInName::clamp_30D00D00D)
+                    {
+                        return &BuiltInFunction::function_clamp_30D00D00D;
+                    }
+                    break;
+                }
+                case 0x0000048bu:
+                {
+                    if (name == BuiltInName::textureGradOffset_00i20B00B00B00D)
+                    {
+                        return &BuiltInFunction::function_textureGradOffset_00i20B00B00B00D;
+                    }
+                    break;
+                }
+                case 0x00000496u:
+                {
+                    if (name == BuiltInName::textureOffset_00t00B00D)
+                    {
+                        return &BuiltInFunction::function_textureOffset_00t00B00D;
+                    }
+                    break;
+                }
+                case 0x0000049bu:
+                {
+                    if (name == BuiltInName::modf_00B00B)
+                    {
+                        return &BuiltInFunction::function_modf_00B00B;
+                    }
+                    break;
+                }
+                case 0x000004a5u:
+                {
+                    if (name == BuiltInName::textureLodOffset_00i20B00B00D)
+                    {
+                        return &BuiltInFunction::function_textureLodOffset_00i20B00B00D;
+                    }
+                    break;
+                }
+                case 0x000004aau:
+                {
+                    if (name == BuiltInName::isnan_30B)
+                    {
+                        return &BuiltInFunction::function_isnan_30B;
+                    }
+                    break;
+                }
+                case 0x000004abu:
+                {
+                    if (name == BuiltInName::textureProjOffset_00o30B00D)
+                    {
+                        return &BuiltInFunction::function_textureProjOffset_00o30B00D;
+                    }
+                    break;
+                }
+                case 0x000004b1u:
+                {
+                    if (name == BuiltInName::textureGrad_00I10B10B10B)
+                    {
+                        return &BuiltInFunction::function_textureGrad_00I10B10B10B;
+                    }
+                    break;
+                }
+                case 0x000004c0u:
+                {
+                    if (name == BuiltInName::min_10D10D)
+                    {
+                        return &BuiltInFunction::function_min_10D10D;
+                    }
+                    break;
+                }
+                case 0x000004ceu:
+                {
+                    if (name == BuiltInName::texture_00u20B)
+                    {
+                        return &BuiltInFunction::function_texture_00u20B;
+                    }
+                    break;
+                }
+                case 0x000004d5u:
+                {
+                    if (name == BuiltInName::textureLodOffset_00I10B00B10D)
+                    {
+                        return &BuiltInFunction::function_textureLodOffset_00I10B00B10D;
+                    }
+                    break;
+                }
+                case 0x000004d9u:
+                {
+                    if (name == BuiltInName::textureOffset_00U20B10D)
+                    {
+                        return &BuiltInFunction::function_textureOffset_00U20B10D;
+                    }
+                    break;
+                }
+                case 0x000004e6u:
+                {
+                    if (name == BuiltInName::textureGrad_00L20B10B10B)
+                    {
+                        return &BuiltInFunction::function_textureGrad_00L20B10B10B;
+                    }
+                    break;
+                }
+                case 0x000004e9u:
+                {
+                    if (name == BuiltInName::textureSize_00o00D)
+                    {
+                        return &BuiltInFunction::function_textureSize_00o00D;
+                    }
+                    break;
+                }
+                case 0x000004f1u:
+                {
+                    if (name == BuiltInName::notEqual_30E30E)
+                    {
+                        return &BuiltInFunction::function_notEqual_30E30E;
+                    }
+                    break;
+                }
+                case 0x000004f8u:
+                {
+                    if (name == BuiltInName::textureGrad_00u10B00B00B)
+                    {
+                        return &BuiltInFunction::function_textureGrad_00u10B00B00B;
+                    }
+                    break;
+                }
+                case 0x00000507u:
+                {
+                    if (name == BuiltInName::textureProjGrad_00m30B00B00B)
+                    {
+                        return &BuiltInFunction::function_textureProjGrad_00m30B00B00B;
+                    }
+                    break;
+                }
+                case 0x0000050bu:
+                {
+                    if (name == BuiltInName::textureLod_00J20B00B)
+                    {
+                        return &BuiltInFunction::function_textureLod_00J20B00B;
+                    }
+                    break;
+                }
+                case 0x00000510u:
+                {
+                    if (name == BuiltInName::textureSize_00I00D)
+                    {
+                        return &BuiltInFunction::function_textureSize_00I00D;
+                    }
+                    break;
+                }
+                case 0x00000512u:
+                {
+                    if (name == BuiltInName::texelFetchOffset_00R10D00D10D)
+                    {
+                        return &BuiltInFunction::function_texelFetchOffset_00R10D00D10D;
+                    }
+                    break;
+                }
+                case 0x00000517u:
+                {
+                    if (name == BuiltInName::textureLodOffset_00X10B00B10D)
+                    {
+                        return &BuiltInFunction::function_textureLodOffset_00X10B00B10D;
+                    }
+                    break;
+                }
+                case 0x00000522u:
+                {
+                    if (name == BuiltInName::textureProjLod_00R20B00B)
+                    {
+                        return &BuiltInFunction::function_textureProjLod_00R20B00B;
+                    }
+                    break;
+                }
+                case 0x00000525u:
+                {
+                    if (name == BuiltInName::textureProjOffset_00I20B10D)
+                    {
+                        return &BuiltInFunction::function_textureProjOffset_00I20B10D;
+                    }
+                    break;
+                }
+                case 0x00000535u:
+                {
+                    if (name == BuiltInName::textureGradOffset_00u10B00B00B00D)
+                    {
+                        return &BuiltInFunction::function_textureGradOffset_00u10B00B00B00D;
+                    }
+                    break;
+                }
+                case 0x00000555u:
+                {
+                    if (name == BuiltInName::max_10D00D)
+                    {
+                        return &BuiltInFunction::function_max_10D00D;
+                    }
+                    break;
+                }
+                case 0x00000558u:
+                {
+                    if (name == BuiltInName::clamp_00D00D00D)
+                    {
+                        return &BuiltInFunction::function_clamp_00D00D00D;
+                    }
+                    break;
+                }
+                case 0x0000055du:
+                {
+                    if (name == BuiltInName::textureProjGradOffset_00S30B20B20B20D)
+                    {
+                        return &BuiltInFunction::function_textureProjGradOffset_00S30B20B20B20D;
+                    }
+                    break;
+                }
+                case 0x00000566u:
+                {
+                    if (name == BuiltInName::texelFetchOffset_00S20D00D20D)
+                    {
+                        return &BuiltInFunction::function_texelFetchOffset_00S20D00D20D;
+                    }
+                    break;
+                }
+                case 0x00000569u:
+                {
+                    if (name == BuiltInName::textureSize_00g00D)
+                    {
+                        return &BuiltInFunction::function_textureSize_00g00D;
+                    }
+                    break;
+                }
+                case 0x00000576u:
+                {
+                    if (name == BuiltInName::textureProjLod_00g30B00B)
+                    {
+                        return &BuiltInFunction::function_textureProjLod_00g30B00B;
+                    }
+                    break;
+                }
+                case 0x00000582u:
+                {
+                    if (name == BuiltInName::textureProjLod_00t10B00B)
+                    {
+                        return &BuiltInFunction::function_textureProjLod_00t10B00B;
+                    }
+                    break;
+                }
+                case 0x00000594u:
+                {
+                    if (name == BuiltInName::min_30E00E)
+                    {
+                        return &BuiltInFunction::function_min_30E00E;
+                    }
+                    break;
+                }
+                case 0x000005a6u:
+                {
+                    if (name == BuiltInName::roundEven_10B)
+                    {
+                        return &BuiltInFunction::function_roundEven_10B;
+                    }
+                    break;
+                }
+                case 0x000005a8u:
+                {
+                    if (name == BuiltInName::atanh_30B)
+                    {
+                        return &BuiltInFunction::function_atanh_30B;
+                    }
+                    break;
+                }
+                case 0x000005a9u:
+                {
+                    if (name == BuiltInName::textureLod_00K20B00B)
+                    {
+                        return &BuiltInFunction::function_textureLod_00K20B00B;
+                    }
+                    break;
+                }
+                case 0x000005acu:
+                {
+                    if (name == BuiltInName::texelFetch_00L20D00D)
+                    {
+                        return &BuiltInFunction::function_texelFetch_00L20D00D;
+                    }
+                    break;
+                }
+                case 0x000005b1u:
+                {
+                    if (name == BuiltInName::textureSize_00U00D)
+                    {
+                        return &BuiltInFunction::function_textureSize_00U00D;
+                    }
+                    break;
+                }
+                case 0x000005bfu:
+                {
+                    if (name == BuiltInName::mix_10B10B10F)
+                    {
+                        return &BuiltInFunction::function_mix_10B10B10F;
+                    }
+                    break;
+                }
+                case 0x000005c9u:
+                {
+                    if (name == BuiltInName::notEqual_20E20E)
+                    {
+                        return &BuiltInFunction::function_notEqual_20E20E;
+                    }
+                    break;
+                }
+                case 0x000005cau:
+                {
+                    if (name == BuiltInName::textureLodOffset_00d20B00B10D)
+                    {
+                        return &BuiltInFunction::function_textureLodOffset_00d20B00B10D;
+                    }
+                    break;
+                }
+                case 0x000005ccu:
+                {
+                    if (name == BuiltInName::textureProjGrad_00X20B10B10B)
+                    {
+                        return &BuiltInFunction::function_textureProjGrad_00X20B10B10B;
+                    }
+                    break;
+                }
+                case 0x000005ceu:
+                {
+                    if (name == BuiltInName::textureSize_00Y00D)
+                    {
+                        return &BuiltInFunction::function_textureSize_00Y00D;
+                    }
+                    break;
+                }
+                case 0x000005dbu:
+                {
+                    if (name == BuiltInName::textureProjLodOffset_00g10B00B00D)
+                    {
+                        return &BuiltInFunction::function_textureProjLodOffset_00g10B00B00D;
+                    }
+                    break;
+                }
+                case 0x000005e2u:
+                {
+                    if (name == BuiltInName::textureLod_00u10B00B)
+                    {
+                        return &BuiltInFunction::function_textureLod_00u10B00B;
+                    }
+                    break;
+                }
+                case 0x000005e3u:
+                {
+                    if (name == BuiltInName::textureProjGradOffset_00m30B00B00B00D)
+                    {
+                        return &BuiltInFunction::function_textureProjGradOffset_00m30B00B00B00D;
+                    }
+                    break;
+                }
+                case 0x000005e7u:
+                {
+                    if (name == BuiltInName::textureProjGradOffset_00o30B00B00B00D)
+                    {
+                        return &BuiltInFunction::function_textureProjGradOffset_00o30B00B00B00D;
+                    }
+                    break;
+                }
+                case 0x000005efu:
+                {
+                    if (name == BuiltInName::textureLod_00g00B00B)
+                    {
+                        return &BuiltInFunction::function_textureLod_00g00B00B;
+                    }
+                    break;
+                }
+                case 0x000005f6u:
+                {
+                    if (name == BuiltInName::textureProjOffset_00o10B00D)
+                    {
+                        return &BuiltInFunction::function_textureProjOffset_00o10B00D;
+                    }
+                    break;
+                }
+                case 0x000005f9u:
+                {
+                    if (name == BuiltInName::textureGradOffset_00f30B10B10B10D)
+                    {
+                        return &BuiltInFunction::function_textureGradOffset_00f30B10B10B10D;
+                    }
+                    break;
+                }
+                case 0x000005fau:
+                {
+                    if (name == BuiltInName::max_20D20D)
+                    {
+                        return &BuiltInFunction::function_max_20D20D;
+                    }
+                    break;
+                }
+                case 0x000005fbu:
+                {
+                    if (name == BuiltInName::max_10D10D)
+                    {
+                        return &BuiltInFunction::function_max_10D10D;
+                    }
+                    break;
+                }
+                case 0x000005fdu:
+                {
+                    if (name == BuiltInName::textureGradOffset_00t00B00B00B00D)
+                    {
+                        return &BuiltInFunction::function_textureGradOffset_00t00B00B00B00D;
+                    }
+                    break;
+                }
+                case 0x00000601u:
+                {
+                    if (name == BuiltInName::texelFetchOffset_00t00D00D00D)
+                    {
+                        return &BuiltInFunction::function_texelFetchOffset_00t00D00D00D;
+                    }
+                    break;
+                }
+                case 0x0000060au:
+                {
+                    if (name == BuiltInName::textureGradOffset_00Y20B20B20B20D)
+                    {
+                        return &BuiltInFunction::function_textureGradOffset_00Y20B20B20B20D;
+                    }
+                    break;
+                }
+                case 0x0000060du:
+                {
+                    if (name == BuiltInName::textureGrad_00f30B10B10B)
+                    {
+                        return &BuiltInFunction::function_textureGrad_00f30B10B10B;
+                    }
+                    break;
+                }
+                case 0x00000610u:
+                {
+                    if (name == BuiltInName::modf_20B20B)
+                    {
+                        return &BuiltInFunction::function_modf_20B20B;
+                    }
+                    break;
+                }
+                case 0x00000623u:
+                {
+                    if (name == BuiltInName::textureProjLod_00X30B00B)
+                    {
+                        return &BuiltInFunction::function_textureProjLod_00X30B00B;
+                    }
+                    break;
+                }
+                case 0x00000624u:
+                {
+                    if (name == BuiltInName::textureProjGradOffset_00I30B10B10B10D)
+                    {
+                        return &BuiltInFunction::function_textureProjGradOffset_00I30B10B10B10D;
+                    }
+                    break;
+                }
+                case 0x00000625u:
+                {
+                    if (name == BuiltInName::cosh_30B)
+                    {
+                        return &BuiltInFunction::function_cosh_30B;
+                    }
+                    break;
+                }
+                case 0x00000641u:
+                {
+                    if (name == BuiltInName::lessThan_20E20E)
+                    {
+                        return &BuiltInFunction::function_lessThan_20E20E;
+                    }
+                    break;
+                }
+                case 0x00000642u:
+                {
+                    if (name == BuiltInName::textureLod_00X10B00B)
+                    {
+                        return &BuiltInFunction::function_textureLod_00X10B00B;
+                    }
+                    break;
+                }
+                case 0x00000645u:
+                {
+                    if (name == BuiltInName::cosh_00B)
+                    {
+                        return &BuiltInFunction::function_cosh_00B;
+                    }
+                    break;
+                }
+                case 0x00000649u:
+                {
+                    if (name == BuiltInName::textureLod_00Z20B00B)
+                    {
+                        return &BuiltInFunction::function_textureLod_00Z20B00B;
+                    }
+                    break;
+                }
+                case 0x0000064au:
+                {
+                    if (name == BuiltInName::sign_00D)
+                    {
+                        return &BuiltInFunction::function_sign_00D;
+                    }
+                    break;
+                }
+                case 0x0000064bu:
+                {
+                    if (name == BuiltInName::textureOffset_00Y20B20D)
+                    {
+                        return &BuiltInFunction::function_textureOffset_00Y20B20D;
+                    }
+                    break;
+                }
+                case 0x00000656u:
+                {
+                    if (name == BuiltInName::textureProjLodOffset_00R30B00B10D)
+                    {
+                        return &BuiltInFunction::function_textureProjLodOffset_00R30B00B10D;
+                    }
+                    break;
+                }
+                case 0x00000657u:
+                {
+                    if (name == BuiltInName::textureGrad_00h10B00B00B)
+                    {
+                        return &BuiltInFunction::function_textureGrad_00h10B00B00B;
+                    }
+                    break;
+                }
+                case 0x0000065eu:
+                {
+                    if (name == BuiltInName::textureProjLod_00t30B00B)
+                    {
+                        return &BuiltInFunction::function_textureProjLod_00t30B00B;
+                    }
+                    break;
+                }
+                case 0x0000065fu:
+                {
+                    if (name == BuiltInName::textureOffset_00o00B00D)
+                    {
+                        return &BuiltInFunction::function_textureOffset_00o00B00D;
+                    }
+                    break;
+                }
+                case 0x00000665u:
+                {
+                    if (name == BuiltInName::roundEven_00B)
+                    {
+                        return &BuiltInFunction::function_roundEven_00B;
+                    }
+                    break;
+                }
+                case 0x00000667u:
+                {
+                    if (name == BuiltInName::atanh_20B)
+                    {
+                        return &BuiltInFunction::function_atanh_20B;
+                    }
+                    break;
+                }
+                case 0x00000668u:
+                {
+                    if (name == BuiltInName::clamp_10E00E00E)
+                    {
+                        return &BuiltInFunction::function_clamp_10E00E00E;
+                    }
+                    break;
+                }
+                case 0x0000066cu:
+                {
+                    if (name == BuiltInName::textureProjOffset_00X30B10D)
+                    {
+                        return &BuiltInFunction::function_textureProjOffset_00X30B10D;
+                    }
+                    break;
+                }
+                case 0x00000671u:
+                {
+                    if (name == BuiltInName::texelFetch_00g00D00D)
+                    {
+                        return &BuiltInFunction::function_texelFetch_00g00D00D;
+                    }
+                    break;
+                }
+                case 0x00000678u:
+                {
+                    if (name == BuiltInName::clamp_30D30D30D)
+                    {
+                        return &BuiltInFunction::function_clamp_30D30D30D;
+                    }
+                    break;
+                }
+                case 0x00000697u:
+                {
+                    if (name == BuiltInName::textureProjLodOffset_00d30B00B10D)
+                    {
+                        return &BuiltInFunction::function_textureProjLodOffset_00d30B00B10D;
+                    }
+                    break;
+                }
+                case 0x0000069au:
+                {
+                    if (name == BuiltInName::textureProjLodOffset_00I30B00B10D)
+                    {
+                        return &BuiltInFunction::function_textureProjLodOffset_00I30B00B10D;
+                    }
+                    break;
+                }
+                case 0x000006a3u:
+                {
+                    if (name == BuiltInName::texture_00J20B)
+                    {
+                        return &BuiltInFunction::function_texture_00J20B;
+                    }
+                    break;
+                }
+                case 0x000006a7u:
+                {
+                    if (name == BuiltInName::textureSize_00d00D)
+                    {
+                        return &BuiltInFunction::function_textureSize_00d00D;
+                    }
+                    break;
+                }
+                case 0x000006b7u:
+                {
+                    if (name == BuiltInName::textureProjOffset_00m30B00D)
+                    {
+                        return &BuiltInFunction::function_textureProjOffset_00m30B00D;
+                    }
+                    break;
+                }
+                case 0x000006b9u:
+                {
+                    if (name == BuiltInName::equal_10E10E)
+                    {
+                        return &BuiltInFunction::function_equal_10E10E;
+                    }
+                    break;
+                }
+                case 0x000006beu:
+                {
+                    if (name == BuiltInName::textureProjOffset_00J30B20D)
+                    {
+                        return &BuiltInFunction::function_textureProjOffset_00J30B20D;
+                    }
+                    break;
+                }
+                case 0x000006c2u:
+                {
+                    if (name == BuiltInName::notEqual_10E10E)
+                    {
+                        return &BuiltInFunction::function_notEqual_10E10E;
+                    }
+                    break;
+                }
+                case 0x000006c4u:
+                {
+                    if (name == BuiltInName::textureProjGrad_00t10B00B00B)
+                    {
+                        return &BuiltInFunction::function_textureProjGrad_00t10B00B00B;
+                    }
+                    break;
+                }
+                case 0x000006d1u:
+                {
+                    if (name == BuiltInName::textureLodOffset_00R10B00B10D)
+                    {
+                        return &BuiltInFunction::function_textureLodOffset_00R10B00B10D;
+                    }
+                    break;
+                }
+                case 0x000006d2u:
+                {
+                    if (name == BuiltInName::trunc_10B)
+                    {
+                        return &BuiltInFunction::function_trunc_10B;
+                    }
+                    break;
+                }
+                case 0x000006d5u:
+                {
+                    if (name == BuiltInName::texelFetch_00u10D00D)
+                    {
+                        return &BuiltInFunction::function_texelFetch_00u10D00D;
+                    }
+                    break;
+                }
+                case 0x000006dbu:
+                {
+                    if (name == BuiltInName::textureProjGrad_00g30B00B00B)
+                    {
+                        return &BuiltInFunction::function_textureProjGrad_00g30B00B00B;
+                    }
+                    break;
+                }
+                case 0x000006dfu:
+                {
+                    if (name == BuiltInName::max_00E00E)
+                    {
+                        return &BuiltInFunction::function_max_00E00E;
+                    }
+                    break;
+                }
+                case 0x000006e3u:
+                {
+                    if (name == BuiltInName::textureProj_00o10B)
+                    {
+                        return &BuiltInFunction::function_textureProj_00o10B;
+                    }
+                    break;
+                }
+                case 0x000006ecu:
+                {
+                    if (name == BuiltInName::texelFetchOffset_00u10D00D00D)
+                    {
+                        return &BuiltInFunction::function_texelFetchOffset_00u10D00D00D;
+                    }
+                    break;
+                }
+                case 0x000006fcu:
+                {
+                    if (name == BuiltInName::textureProjGrad_00I30B10B10B)
+                    {
+                        return &BuiltInFunction::function_textureProjGrad_00I30B10B10B;
+                    }
+                    break;
+                }
+                case 0x000006feu:
+                {
+                    if (name == BuiltInName::textureOffset_00d20B10D)
+                    {
+                        return &BuiltInFunction::function_textureOffset_00d20B10D;
+                    }
+                    break;
+                }
+                case 0x00000703u:
+                {
+                    if (name == BuiltInName::textureProjGradOffset_00t30B00B00B00D)
+                    {
+                        return &BuiltInFunction::function_textureProjGradOffset_00t30B00B00B00D;
+                    }
+                    break;
+                }
+                case 0x00000704u:
+                {
+                    if (name == BuiltInName::min_20E20E)
+                    {
+                        return &BuiltInFunction::function_min_20E20E;
+                    }
+                    break;
+                }
+                case 0x0000070eu:
+                {
+                    if (name == BuiltInName::lessThan_30E30E)
+                    {
+                        return &BuiltInFunction::function_lessThan_30E30E;
+                    }
+                    break;
+                }
+                case 0x00000717u:
+                {
+                    if (name == BuiltInName::textureLod_00Y20B00B)
+                    {
+                        return &BuiltInFunction::function_textureLod_00Y20B00B;
+                    }
+                    break;
+                }
+                case 0x0000071au:
+                {
+                    if (name == BuiltInName::min_20D00D)
+                    {
+                        return &BuiltInFunction::function_min_20D00D;
+                    }
+                    break;
+                }
+                case 0x00000725u:
+                {
+                    if (name == BuiltInName::tanh_00B)
+                    {
+                        return &BuiltInFunction::function_tanh_00B;
+                    }
+                    break;
+                }
+                case 0x00000731u:
+                {
+                    if (name == BuiltInName::texelFetch_00h10D00D)
+                    {
+                        return &BuiltInFunction::function_texelFetch_00h10D00D;
+                    }
+                    break;
+                }
+                case 0x00000739u:
+                {
+                    if (name == BuiltInName::textureGrad_00d20B10B10B)
+                    {
+                        return &BuiltInFunction::function_textureGrad_00d20B10B10B;
+                    }
+                    break;
+                }
+                case 0x00000741u:
+                {
+                    if (name == BuiltInName::textureProjLod_00I20B00B)
+                    {
+                        return &BuiltInFunction::function_textureProjLod_00I20B00B;
+                    }
+                    break;
+                }
+                case 0x00000745u:
+                {
+                    if (name == BuiltInName::texture_00T20B)
+                    {
+                        return &BuiltInFunction::function_texture_00T20B;
+                    }
+                    break;
+                }
+                case 0x00000751u:
+                {
+                    if (name == BuiltInName::clamp_10D10D10D)
+                    {
+                        return &BuiltInFunction::function_clamp_10D10D10D;
+                    }
+                    break;
+                }
+                case 0x00000756u:
+                {
+                    if (name == BuiltInName::textureGradOffset_00S20B20B20B20D)
+                    {
+                        return &BuiltInFunction::function_textureGradOffset_00S20B20B20B20D;
+                    }
+                    break;
+                }
+                case 0x00000758u:
+                {
+                    if (name == BuiltInName::clamp_30E30E30E)
+                    {
+                        return &BuiltInFunction::function_clamp_30E30E30E;
+                    }
+                    break;
+                }
+                case 0x00000759u:
+                {
+                    if (name == BuiltInName::textureSize_00R00D)
+                    {
+                        return &BuiltInFunction::function_textureSize_00R00D;
+                    }
+                    break;
+                }
+                case 0x0000075bu:
+                {
+                    if (name == BuiltInName::acosh_10B)
+                    {
+                        return &BuiltInFunction::function_acosh_10B;
+                    }
+                    break;
+                }
+                case 0x00000764u:
+                {
+                    if (name == BuiltInName::textureProjLod_00J30B00B)
+                    {
+                        return &BuiltInFunction::function_textureProjLod_00J30B00B;
+                    }
+                    break;
+                }
+                case 0x0000076cu:
+                {
+                    if (name == BuiltInName::max_20D00D)
+                    {
+                        return &BuiltInFunction::function_max_20D00D;
+                    }
+                    break;
+                }
+                case 0x0000076du:
+                {
+                    if (name == BuiltInName::texelFetchOffset_00I10D00D10D)
+                    {
+                        return &BuiltInFunction::function_texelFetchOffset_00I10D00D10D;
+                    }
+                    break;
+                }
+                case 0x00000771u:
+                {
+                    if (name == BuiltInName::textureGrad_00m20B00B00B)
+                    {
+                        return &BuiltInFunction::function_textureGrad_00m20B00B00B;
+                    }
+                    break;
+                }
+                case 0x0000077bu:
+                {
+                    if (name == BuiltInName::textureGradOffset_00h10B00B00B00D)
+                    {
+                        return &BuiltInFunction::function_textureGradOffset_00h10B00B00B00D;
+                    }
+                    break;
+                }
+                case 0x00000781u:
+                {
+                    if (name == BuiltInName::textureProjLodOffset_00t10B00B00D)
+                    {
+                        return &BuiltInFunction::function_textureProjLodOffset_00t10B00B00D;
+                    }
+                    break;
+                }
+                case 0x00000783u:
+                {
+                    if (name == BuiltInName::trunc_00B)
+                    {
+                        return &BuiltInFunction::function_trunc_00B;
+                    }
+                    break;
+                }
+                case 0x0000078du:
+                {
+                    if (name == BuiltInName::textureLod_00T20B00B)
+                    {
+                        return &BuiltInFunction::function_textureLod_00T20B00B;
+                    }
+                    break;
+                }
+                case 0x0000078eu:
+                {
+                    if (name == BuiltInName::textureProjGrad_00R30B10B10B)
+                    {
+                        return &BuiltInFunction::function_textureProjGrad_00R30B10B10B;
+                    }
+                    break;
+                }
+                case 0x00000791u:
+                {
+                    if (name == BuiltInName::textureProjGradOffset_00X30B10B10B10D)
+                    {
+                        return &BuiltInFunction::function_textureProjGradOffset_00X30B10B10B10D;
+                    }
+                    break;
+                }
+                case 0x00000794u:
+                {
+                    if (name == BuiltInName::textureGrad_00S20B20B20B)
+                    {
+                        return &BuiltInFunction::function_textureGrad_00S20B20B20B;
+                    }
+                    break;
+                }
+                case 0x00000796u:
+                {
+                    if (name == BuiltInName::textureSize_00t00D)
+                    {
+                        return &BuiltInFunction::function_textureSize_00t00D;
+                    }
+                    break;
+                }
+                case 0x0000079du:
+                {
+                    if (name == BuiltInName::textureProjLod_00o30B00B)
+                    {
+                        return &BuiltInFunction::function_textureProjLod_00o30B00B;
+                    }
+                    break;
+                }
+                case 0x000007a2u:
+                {
+                    if (name == BuiltInName::texture_00L20B)
+                    {
+                        return &BuiltInFunction::function_texture_00L20B;
+                    }
+                    break;
+                }
+                case 0x000007b6u:
+                {
+                    if (name == BuiltInName::isnan_20B)
+                    {
+                        return &BuiltInFunction::function_isnan_20B;
+                    }
+                    break;
+                }
+                case 0x000007bcu:
+                {
+                    if (name == BuiltInName::max_30E00E)
+                    {
+                        return &BuiltInFunction::function_max_30E00E;
+                    }
+                    break;
+                }
+                case 0x000007bdu:
+                {
+                    if (name == BuiltInName::textureLod_00d20B00B)
+                    {
+                        return &BuiltInFunction::function_textureLod_00d20B00B;
+                    }
+                    break;
+                }
+                case 0x000007c7u:
+                {
+                    if (name == BuiltInName::textureProjOffset_00t30B00D)
+                    {
+                        return &BuiltInFunction::function_textureProjOffset_00t30B00D;
+                    }
+                    break;
+                }
+                case 0x000007ceu:
+                {
+                    if (name == BuiltInName::textureLodOffset_00Y20B00B20D)
+                    {
+                        return &BuiltInFunction::function_textureLodOffset_00Y20B00B20D;
+                    }
+                    break;
+                }
+                case 0x000007d2u:
+                {
+                    if (name == BuiltInName::tanh_10B)
+                    {
+                        return &BuiltInFunction::function_tanh_10B;
+                    }
+                    break;
+                }
+                case 0x000007d4u:
+                {
+                    if (name == BuiltInName::textureLod_00h10B00B)
+                    {
+                        return &BuiltInFunction::function_textureLod_00h10B00B;
+                    }
+                    break;
+                }
+                case 0x000007e0u:
+                {
+                    if (name == BuiltInName::textureProjOffset_00t10B00D)
+                    {
+                        return &BuiltInFunction::function_textureProjOffset_00t10B00D;
+                    }
+                    break;
+                }
+                case 0x000007e2u:
+                {
+                    if (name == BuiltInName::textureGrad_00e30B20B20B)
+                    {
+                        return &BuiltInFunction::function_textureGrad_00e30B20B20B;
+                    }
+                    break;
+                }
+                case 0x000007e3u:
+                {
+                    if (name == BuiltInName::textureSize_00J00D)
+                    {
+                        return &BuiltInFunction::function_textureSize_00J00D;
+                    }
+                    break;
+                }
+                case 0x000007eeu:
+                {
+                    if (name == BuiltInName::textureGrad_00K20B20B20B)
+                    {
+                        return &BuiltInFunction::function_textureGrad_00K20B20B20B;
+                    }
+                    break;
+                }
+                case 0x000007f6u:
+                {
+                    if (name == BuiltInName::textureGrad_00J20B20B20B)
+                    {
+                        return &BuiltInFunction::function_textureGrad_00J20B20B20B;
+                    }
+                    break;
+                }
+                case 0x000007feu:
+                {
+                    if (name == BuiltInName::textureProjLodOffset_00Y30B00B20D)
+                    {
+                        return &BuiltInFunction::function_textureProjLodOffset_00Y30B00B20D;
+                    }
+                    break;
+                }
+                case 0x0000080eu:
+                {
+                    if (name == BuiltInName::textureOffset_00a20B10D)
+                    {
+                        return &BuiltInFunction::function_textureOffset_00a20B10D;
+                    }
+                    break;
+                }
+                case 0x00000811u:
+                {
+                    if (name == BuiltInName::min_30E30E)
+                    {
+                        return &BuiltInFunction::function_min_30E30E;
+                    }
+                    break;
+                }
+                case 0x00000813u:
+                {
+                    if (name == BuiltInName::textureProjLodOffset_00o10B00B00D)
+                    {
+                        return &BuiltInFunction::function_textureProjLodOffset_00o10B00B00D;
+                    }
+                    break;
+                }
+                case 0x00000817u:
+                {
+                    if (name == BuiltInName::textureGradOffset_00o00B00B00B00D)
+                    {
+                        return &BuiltInFunction::function_textureGradOffset_00o00B00B00B00D;
+                    }
+                    break;
+                }
+                case 0x00000829u:
+                {
+                    if (name == BuiltInName::textureProj_00t30B)
+                    {
+                        return &BuiltInFunction::function_textureProj_00t30B;
+                    }
+                    break;
+                }
+                case 0x0000082au:
+                {
+                    if (name == BuiltInName::textureProjGradOffset_00t10B00B00B00D)
+                    {
+                        return &BuiltInFunction::function_textureProjGradOffset_00t10B00B00B00D;
+                    }
+                    break;
+                }
+                case 0x00000832u:
+                {
+                    if (name == BuiltInName::trunc_30B)
+                    {
+                        return &BuiltInFunction::function_trunc_30B;
+                    }
+                    break;
+                }
+                case 0x0000083eu:
+                {
+                    if (name == BuiltInName::min_20E00E)
+                    {
+                        return &BuiltInFunction::function_min_20E00E;
+                    }
+                    break;
+                }
+                case 0x00000858u:
                 {
                     if (name == BuiltInName::textureProjLod_00X20B00B)
                     {
@@ -47355,6 +47322,14 @@
                     }
                     break;
                 }
+                case 0x0000090bu:
+                {
+                    if (name == BuiltInName::textureProjOffset_00X20B10D)
+                    {
+                        return &BuiltInFunction::function_textureProjOffset_00X20B10D;
+                    }
+                    break;
+                }
                 case 0x0000090eu:
                 {
                     if (name == BuiltInName::min_30D00D)
@@ -47624,7 +47599,7 @@
                         }
                         break;
                     }
-                    case 0x0000035bu:
+                    case 0x0000035cu:
                     {
                         if (name == BuiltInName::texture_00J20B00B)
                         {
@@ -47632,7 +47607,7 @@
                         }
                         break;
                     }
-                    case 0x0000037bu:
+                    case 0x0000037cu:
                     {
                         if (name == BuiltInName::textureProjOffset_00m30B00D00B)
                         {
@@ -47640,7 +47615,7 @@
                         }
                         break;
                     }
-                    case 0x000003c2u:
+                    case 0x000003c4u:
                     {
                         if (name == BuiltInName::textureProj_00I30B00B)
                         {
@@ -47648,7 +47623,7 @@
                         }
                         break;
                     }
-                    case 0x000003c4u:
+                    case 0x000003c6u:
                     {
                         if (name == BuiltInName::textureOffset_00g00B00D00B)
                         {
@@ -47656,7 +47631,7 @@
                         }
                         break;
                     }
-                    case 0x000003e8u:
+                    case 0x000003eau:
                     {
                         if (name == BuiltInName::textureProj_00X20B00B)
                         {
@@ -47664,7 +47639,7 @@
                         }
                         break;
                     }
-                    case 0x000003f7u:
+                    case 0x000003f9u:
                     {
                         if (name == BuiltInName::textureOffset_00t00B00D00B)
                         {
@@ -47672,7 +47647,7 @@
                         }
                         break;
                     }
-                    case 0x0000045cu:
+                    case 0x0000045fu:
                     {
                         if (name == BuiltInName::textureProjOffset_00g30B00D00B)
                         {
@@ -47680,7 +47655,7 @@
                         }
                         break;
                     }
-                    case 0x00000480u:
+                    case 0x00000483u:
                     {
                         if (name == BuiltInName::textureProjOffset_00R30B10D00B)
                         {
@@ -47688,7 +47663,7 @@
                         }
                         break;
                     }
-                    case 0x00000497u:
+                    case 0x0000049au:
                     {
                         if (name == BuiltInName::texture_00R10B00B)
                         {
@@ -47696,7 +47671,7 @@
                         }
                         break;
                     }
-                    case 0x000004b4u:
+                    case 0x000004b7u:
                     {
                         if (name == BuiltInName::textureProj_00J30B00B)
                         {
@@ -47704,7 +47679,7 @@
                         }
                         break;
                     }
-                    case 0x00000515u:
+                    case 0x00000518u:
                     {
                         if (name == BuiltInName::texture_00T20B00B)
                         {
@@ -47712,7 +47687,7 @@
                         }
                         break;
                     }
-                    case 0x0000054du:
+                    case 0x00000550u:
                     {
                         if (name == BuiltInName::textureProj_00t30B00B)
                         {
@@ -47720,7 +47695,7 @@
                         }
                         break;
                     }
-                    case 0x000005b0u:
+                    case 0x000005b2u:
                     {
                         if (name == BuiltInName::textureProjOffset_00o10B00D00B)
                         {
@@ -47728,7 +47703,7 @@
                         }
                         break;
                     }
-                    case 0x000005c0u:
+                    case 0x000005c2u:
                     {
                         if (name == BuiltInName::textureProj_00Y30B00B)
                         {
@@ -47736,7 +47711,7 @@
                         }
                         break;
                     }
-                    case 0x000005e6u:
+                    case 0x000005e8u:
                     {
                         if (name == BuiltInName::textureProj_00g30B00B)
                         {
@@ -47744,7 +47719,7 @@
                         }
                         break;
                     }
-                    case 0x00000603u:
+                    case 0x00000605u:
                     {
                         if (name == BuiltInName::texture_00d20B00B)
                         {
@@ -47752,7 +47727,7 @@
                         }
                         break;
                     }
-                    case 0x00000625u:
+                    case 0x00000627u:
                     {
                         if (name == BuiltInName::textureOffset_00S20B20D00B)
                         {
@@ -47760,7 +47735,7 @@
                         }
                         break;
                     }
-                    case 0x00000627u:
+                    case 0x00000629u:
                     {
                         if (name == BuiltInName::textureProjOffset_00R20B10D00B)
                         {
@@ -47768,7 +47743,7 @@
                         }
                         break;
                     }
-                    case 0x0000062eu:
+                    case 0x00000630u:
                     {
                         if (name == BuiltInName::textureOffset_00i20B00D00B)
                         {
@@ -47776,7 +47751,7 @@
                         }
                         break;
                     }
-                    case 0x00000639u:
+                    case 0x0000063bu:
                     {
                         if (name == BuiltInName::textureProj_00R20B00B)
                         {
@@ -47784,7 +47759,7 @@
                         }
                         break;
                     }
-                    case 0x00000690u:
+                    case 0x00000692u:
                     {
                         if (name == BuiltInName::textureProjOffset_00I20B10D00B)
                         {
@@ -47792,7 +47767,7 @@
                         }
                         break;
                     }
-                    case 0x000006a3u:
+                    case 0x000006a5u:
                     {
                         if (name == BuiltInName::textureProjOffset_00o30B00D00B)
                         {
@@ -47800,7 +47775,7 @@
                         }
                         break;
                     }
-                    case 0x000006b2u:
+                    case 0x000006b4u:
                     {
                         if (name == BuiltInName::textureProj_00o10B00B)
                         {
@@ -47808,7 +47783,7 @@
                         }
                         break;
                     }
-                    case 0x000006cbu:
+                    case 0x000006cdu:
                     {
                         if (name == BuiltInName::texture_00u20B00B)
                         {
@@ -47816,7 +47791,7 @@
                         }
                         break;
                     }
-                    case 0x000006d6u:
+                    case 0x000006d8u:
                     {
                         if (name == BuiltInName::textureProj_00I20B00B)
                         {
@@ -47824,7 +47799,7 @@
                         }
                         break;
                     }
-                    case 0x000006dbu:
+                    case 0x000006ddu:
                     {
                         if (name == BuiltInName::textureProj_00d30B00B)
                         {
@@ -47832,7 +47807,7 @@
                         }
                         break;
                     }
-                    case 0x000006deu:
+                    case 0x000006e0u:
                     {
                         if (name == BuiltInName::texture_00a20B00B)
                         {
@@ -47840,7 +47815,7 @@
                         }
                         break;
                     }
-                    case 0x000006e7u:
+                    case 0x000006e9u:
                     {
                         if (name == BuiltInName::textureProjOffset_00X30B10D00B)
                         {
@@ -47848,7 +47823,7 @@
                         }
                         break;
                     }
-                    case 0x00000715u:
+                    case 0x00000716u:
                     {
                         if (name == BuiltInName::texture_00S20B00B)
                         {
@@ -47856,7 +47831,7 @@
                         }
                         break;
                     }
-                    case 0x00000754u:
+                    case 0x00000755u:
                     {
                         if (name == BuiltInName::textureOffset_00Y20B20D00B)
                         {
@@ -47864,7 +47839,7 @@
                         }
                         break;
                     }
-                    case 0x00000760u:
+                    case 0x00000761u:
                     {
                         if (name == BuiltInName::textureOffset_00L20B10D00B)
                         {
@@ -47872,7 +47847,7 @@
                         }
                         break;
                     }
-                    case 0x0000078fu:
+                    case 0x00000790u:
                     {
                         if (name == BuiltInName::textureProjOffset_00X20B10D00B)
                         {
@@ -47880,7 +47855,7 @@
                         }
                         break;
                     }
-                    case 0x000007abu:
+                    case 0x000007acu:
                     {
                         if (name == BuiltInName::textureProjOffset_00S30B20D00B)
                         {
@@ -47888,7 +47863,7 @@
                         }
                         break;
                     }
-                    case 0x000007c4u:
+                    case 0x000007c5u:
                     {
                         if (name == BuiltInName::texture_00g00B00B)
                         {
@@ -47896,7 +47871,7 @@
                         }
                         break;
                     }
-                    case 0x000007dau:
+                    case 0x000007dbu:
                     {
                         if (name == BuiltInName::textureOffset_00p10B00D00B)
                         {
@@ -47904,7 +47879,7 @@
                         }
                         break;
                     }
-                    case 0x000007f2u:
+                    case 0x000007f3u:
                     {
                         if (name == BuiltInName::texture_00K20B00B)
                         {
@@ -47912,7 +47887,7 @@
                         }
                         break;
                     }
-                    case 0x000007f7u:
+                    case 0x000007f8u:
                     {
                         if (name == BuiltInName::textureOffset_00U20B10D00B)
                         {
@@ -47920,7 +47895,7 @@
                         }
                         break;
                     }
-                    case 0x00000820u:
+                    case 0x00000821u:
                     {
                         if (name == BuiltInName::textureOffset_00m20B00D00B)
                         {
@@ -47928,7 +47903,7 @@
                         }
                         break;
                     }
-                    case 0x00000837u:
+                    case 0x00000838u:
                     {
                         if (name == BuiltInName::textureProj_00X30B00B)
                         {
@@ -48071,7 +48046,7 @@
                     }
                     break;
                 }
-                case 0x0000064au:
+                case 0x0000064cu:
                 {
                     if (name == BuiltInName::transpose_60B)
                     {
@@ -48079,7 +48054,7 @@
                     }
                     break;
                 }
-                case 0x0000067fu:
+                case 0x00000681u:
                 {
                     if (name == BuiltInName::transpose_A0B)
                     {
@@ -48087,7 +48062,7 @@
                     }
                     break;
                 }
-                case 0x0000070fu:
+                case 0x00000710u:
                 {
                     if (name == BuiltInName::transpose_70B)
                     {
@@ -48095,7 +48070,7 @@
                     }
                     break;
                 }
-                case 0x00000753u:
+                case 0x00000754u:
                 {
                     if (name == BuiltInName::transpose_F0B)
                     {
@@ -48103,7 +48078,7 @@
                     }
                     break;
                 }
-                case 0x00000766u:
+                case 0x00000767u:
                 {
                     if (name == BuiltInName::transpose_90B)
                     {
@@ -48111,7 +48086,7 @@
                     }
                     break;
                 }
-                case 0x000007deu:
+                case 0x000007dfu:
                 {
                     if (name == BuiltInName::outerProduct_20B10B)
                     {
@@ -48547,6 +48522,14 @@
                 }
                 break;
             }
+            case 0x00000189u:
+            {
+                if (name == BuiltInName::mix_20B20B20B)
+                {
+                    return &BuiltInFunction::function_mix_20B20B20B;
+                }
+                break;
+            }
             case 0x0000018au:
             {
                 if (name == BuiltInName::any_10F)
@@ -49061,7 +49044,7 @@
                 }
                 break;
             }
-            case 0x0000034cu:
+            case 0x0000034du:
             {
                 if (name == BuiltInName::notEqual_30B30B)
                 {
@@ -49069,7 +49052,7 @@
                 }
                 break;
             }
-            case 0x0000035cu:
+            case 0x0000035du:
             {
                 if (name == BuiltInName::refract_20B20B00B)
                 {
@@ -49077,7 +49060,7 @@
                 }
                 break;
             }
-            case 0x0000035eu:
+            case 0x0000035fu:
             {
                 if (name == BuiltInName::gl_MaxGeometryOutputComponents)
                 {
@@ -49085,7 +49068,7 @@
                 }
                 break;
             }
-            case 0x0000035fu:
+            case 0x00000360u:
             {
                 if (name == BuiltInName::noise1_30B)
                 {
@@ -49093,7 +49076,7 @@
                 }
                 break;
             }
-            case 0x00000360u:
+            case 0x00000361u:
             {
                 if (name == BuiltInName::log2_30B)
                 {
@@ -49101,7 +49084,7 @@
                 }
                 break;
             }
-            case 0x00000367u:
+            case 0x00000368u:
             {
                 if (name == BuiltInName::gl_MaxFragmentAtomicCounterBuffers)
                 {
@@ -49109,7 +49092,7 @@
                 }
                 break;
             }
-            case 0x00000368u:
+            case 0x00000369u:
             {
                 if (name == BuiltInName::gl_in)
                 {
@@ -49118,7 +49101,7 @@
                 }
                 break;
             }
-            case 0x00000369u:
+            case 0x0000036au:
             {
                 if (name == BuiltInName::noise4_00B)
                 {
@@ -49126,7 +49109,7 @@
                 }
                 break;
             }
-            case 0x00000374u:
+            case 0x00000375u:
             {
                 if (name == BuiltInName::sqrt_00B)
                 {
@@ -49134,7 +49117,7 @@
                 }
                 break;
             }
-            case 0x00000377u:
+            case 0x00000378u:
             {
                 if (name == BuiltInName::noise3_10B)
                 {
@@ -49142,7 +49125,7 @@
                 }
                 break;
             }
-            case 0x00000394u:
+            case 0x00000395u:
             {
                 if (name == BuiltInName::pow_30B30B)
                 {
@@ -49150,7 +49133,7 @@
                 }
                 break;
             }
-            case 0x00000396u:
+            case 0x00000397u:
             {
                 if (name == BuiltInName::smoothstep_10B10B10B)
                 {
@@ -49158,7 +49141,7 @@
                 }
                 break;
             }
-            case 0x000003a7u:
+            case 0x000003a9u:
             {
                 if (name == BuiltInName::texture2DProj_00I30B)
                 {
@@ -49166,7 +49149,7 @@
                 }
                 break;
             }
-            case 0x000003aau:
+            case 0x000003acu:
             {
                 if (name == BuiltInName::notEqual_20B20B)
                 {
@@ -49174,7 +49157,7 @@
                 }
                 break;
             }
-            case 0x000003b3u:
+            case 0x000003b5u:
             {
                 if (name == BuiltInName::equal_30D30D)
                 {
@@ -49182,7 +49165,7 @@
                 }
                 break;
             }
-            case 0x000003bcu:
+            case 0x000003beu:
             {
                 if (name == BuiltInName::max_30B00B)
                 {
@@ -49190,7 +49173,7 @@
                 }
                 break;
             }
-            case 0x000003bfu:
+            case 0x000003c1u:
             {
                 if (name == BuiltInName::step_30B30B)
                 {
@@ -49198,7 +49181,7 @@
                 }
                 break;
             }
-            case 0x000003cau:
+            case 0x000003ccu:
             {
                 if (name == BuiltInName::abs_00B)
                 {
@@ -49206,7 +49189,7 @@
                 }
                 break;
             }
-            case 0x000003cdu:
+            case 0x000003cfu:
             {
                 if (name == BuiltInName::texture1D_00g00B)
                 {
@@ -49214,7 +49197,7 @@
                 }
                 break;
             }
-            case 0x000003d6u:
+            case 0x000003d8u:
             {
                 if (name == BuiltInName::step_00B30B)
                 {
@@ -49222,7 +49205,7 @@
                 }
                 break;
             }
-            case 0x000003e0u:
+            case 0x000003e2u:
             {
                 if (name == BuiltInName::notEqual_10D10D)
                 {
@@ -49230,7 +49213,7 @@
                 }
                 break;
             }
-            case 0x000003e9u:
+            case 0x000003ebu:
             {
                 if (name == BuiltInName::shadow2D_00d20B)
                 {
@@ -49238,7 +49221,7 @@
                 }
                 break;
             }
-            case 0x000003edu:
+            case 0x000003efu:
             {
                 if (name == BuiltInName::faceforward_10B10B10B)
                 {
@@ -49246,7 +49229,7 @@
                 }
                 break;
             }
-            case 0x000003f4u:
+            case 0x000003f6u:
             {
                 if (name == BuiltInName::all_20F)
                 {
@@ -49254,7 +49237,7 @@
                 }
                 break;
             }
-            case 0x00000402u:
+            case 0x00000404u:
             {
                 if (name == BuiltInName::equal_30F30F)
                 {
@@ -49262,7 +49245,7 @@
                 }
                 break;
             }
-            case 0x00000408u:
+            case 0x0000040au:
             {
                 if (name == BuiltInName::notEqual_30F30F)
                 {
@@ -49270,7 +49253,7 @@
                 }
                 break;
             }
-            case 0x00000413u:
+            case 0x00000415u:
             {
                 if (name == BuiltInName::fract_20B)
                 {
@@ -49278,7 +49261,7 @@
                 }
                 break;
             }
-            case 0x00000423u:
+            case 0x00000425u:
             {
                 if (name == BuiltInName::mix_30B30B30B)
                 {
@@ -49286,7 +49269,7 @@
                 }
                 break;
             }
-            case 0x00000425u:
+            case 0x00000427u:
             {
                 if (name == BuiltInName::noise4_30B)
                 {
@@ -49294,7 +49277,7 @@
                 }
                 break;
             }
-            case 0x00000427u:
+            case 0x00000429u:
             {
                 if (name == BuiltInName::sqrt_30B)
                 {
@@ -49302,7 +49285,7 @@
                 }
                 break;
             }
-            case 0x00000429u:
+            case 0x0000042bu:
             {
                 if (name == BuiltInName::exp_00B)
                 {
@@ -49310,7 +49293,7 @@
                 }
                 break;
             }
-            case 0x0000042bu:
+            case 0x0000042du:
             {
                 if (name == BuiltInName::gl_MaxGeometryTextureImageUnits)
                 {
@@ -49318,7 +49301,7 @@
                 }
                 break;
             }
-            case 0x00000431u:
+            case 0x00000433u:
             {
                 if (name == BuiltInName::noise3_20B)
                 {
@@ -49326,7 +49309,7 @@
                 }
                 break;
             }
-            case 0x0000043eu:
+            case 0x00000440u:
             {
                 if (name == BuiltInName::dot_20B20B)
                 {
@@ -49334,7 +49317,7 @@
                 }
                 break;
             }
-            case 0x00000445u:
+            case 0x00000448u:
             {
                 if (name == BuiltInName::normalize_30B)
                 {
@@ -49342,7 +49325,7 @@
                 }
                 break;
             }
-            case 0x00000465u:
+            case 0x00000468u:
             {
                 if (name == BuiltInName::equal_20F20F)
                 {
@@ -49350,7 +49333,7 @@
                 }
                 break;
             }
-            case 0x0000046au:
+            case 0x0000046du:
             {
                 if (name == BuiltInName::equal_10B10B)
                 {
@@ -49358,7 +49341,7 @@
                 }
                 break;
             }
-            case 0x0000047bu:
+            case 0x0000047eu:
             {
                 if (name == BuiltInName::greaterThan_10B10B)
                 {
@@ -49366,7 +49349,7 @@
                 }
                 break;
             }
-            case 0x0000048cu:
+            case 0x0000048fu:
             {
                 if (name == BuiltInName::tan_20B)
                 {
@@ -49374,7 +49357,7 @@
                 }
                 break;
             }
-            case 0x0000048eu:
+            case 0x00000491u:
             {
                 if (name == BuiltInName::floor_00B)
                 {
@@ -49382,7 +49365,7 @@
                 }
                 break;
             }
-            case 0x00000499u:
+            case 0x0000049cu:
             {
                 if (name == BuiltInName::notEqual_20D20D)
                 {
@@ -49390,7 +49373,7 @@
                 }
                 break;
             }
-            case 0x000004a9u:
+            case 0x000004acu:
             {
                 if (name == BuiltInName::lessThanEqual_30D30D)
                 {
@@ -49398,7 +49381,7 @@
                 }
                 break;
             }
-            case 0x000004afu:
+            case 0x000004b2u:
             {
                 if (name == BuiltInName::step_00B20B)
                 {
@@ -49406,7 +49389,7 @@
                 }
                 break;
             }
-            case 0x000004ceu:
+            case 0x000004d1u:
             {
                 if (name == BuiltInName::fract_10B)
                 {
@@ -49414,7 +49397,7 @@
                 }
                 break;
             }
-            case 0x000004d5u:
+            case 0x000004d8u:
             {
                 if (name == BuiltInName::noise4_20B)
                 {
@@ -49422,7 +49405,7 @@
                 }
                 break;
             }
-            case 0x000004d7u:
+            case 0x000004dau:
             {
                 if (name == BuiltInName::min_30B00B)
                 {
@@ -49430,7 +49413,7 @@
                 }
                 break;
             }
-            case 0x000004dcu:
+            case 0x000004dfu:
             {
                 if (name == BuiltInName::exp_10B)
                 {
@@ -49438,7 +49421,7 @@
                 }
                 break;
             }
-            case 0x000004e1u:
+            case 0x000004e4u:
             {
                 if (name == BuiltInName::sqrt_20B)
                 {
@@ -49446,7 +49429,7 @@
                 }
                 break;
             }
-            case 0x000004e7u:
+            case 0x000004eau:
             {
                 if (name == BuiltInName::gl_MaxImageUnits)
                 {
@@ -49454,7 +49437,7 @@
                 }
                 break;
             }
-            case 0x000004fau:
+            case 0x000004fdu:
             {
                 if (name == BuiltInName::normalize_00B)
                 {
@@ -49462,7 +49445,7 @@
                 }
                 break;
             }
-            case 0x0000050eu:
+            case 0x00000511u:
             {
                 if (name == BuiltInName::gl_MaxComputeWorkGroupSize)
                 {
@@ -49470,7 +49453,7 @@
                 }
                 break;
             }
-            case 0x00000519u:
+            case 0x0000051cu:
             {
                 if (name == BuiltInName::log_30B)
                 {
@@ -49478,7 +49461,7 @@
                 }
                 break;
             }
-            case 0x0000051bu:
+            case 0x0000051eu:
             {
                 if (name == BuiltInName::notEqual_20F20F)
                 {
@@ -49486,7 +49469,7 @@
                 }
                 break;
             }
-            case 0x00000520u:
+            case 0x00000523u:
             {
                 if (name == BuiltInName::notEqual_30D30D)
                 {
@@ -49494,7 +49477,7 @@
                 }
                 break;
             }
-            case 0x0000052fu:
+            case 0x00000532u:
             {
                 if (name == BuiltInName::gl_MaxDrawBuffers)
                 {
@@ -49502,7 +49485,7 @@
                 }
                 break;
             }
-            case 0x00000537u:
+            case 0x0000053au:
             {
                 if (name == BuiltInName::any_30F)
                 {
@@ -49510,7 +49493,7 @@
                 }
                 break;
             }
-            case 0x00000538u:
+            case 0x0000053bu:
             {
                 if (name == BuiltInName::distance_30B30B)
                 {
@@ -49518,7 +49501,7 @@
                 }
                 break;
             }
-            case 0x00000546u:
+            case 0x00000549u:
             {
                 if (name == BuiltInName::dot_30B30B)
                 {
@@ -49526,7 +49509,7 @@
                 }
                 break;
             }
-            case 0x0000054bu:
+            case 0x0000054eu:
             {
                 if (name == BuiltInName::gl_MaxTextureImageUnits)
                 {
@@ -49534,7 +49517,7 @@
                 }
                 break;
             }
-            case 0x0000054fu:
+            case 0x00000552u:
             {
                 if (name == BuiltInName::clamp_30B00B00B)
                 {
@@ -49542,7 +49525,7 @@
                 }
                 break;
             }
-            case 0x00000556u:
+            case 0x00000559u:
             {
                 if (name == BuiltInName::floor_30B)
                 {
@@ -49550,7 +49533,7 @@
                 }
                 break;
             }
-            case 0x00000561u:
+            case 0x00000564u:
             {
                 if (name == BuiltInName::clamp_10B00B00B)
                 {
@@ -49558,7 +49541,7 @@
                 }
                 break;
             }
-            case 0x00000564u:
+            case 0x00000567u:
             {
                 if (name == BuiltInName::lessThan_10D10D)
                 {
@@ -49566,7 +49549,7 @@
                 }
                 break;
             }
-            case 0x0000056fu:
+            case 0x00000572u:
             {
                 if (name == BuiltInName::atan_30B30B)
                 {
@@ -49574,7 +49557,7 @@
                 }
                 break;
             }
-            case 0x00000574u:
+            case 0x00000577u:
             {
                 if (name == BuiltInName::max_00B00B)
                 {
@@ -49582,7 +49565,7 @@
                 }
                 break;
             }
-            case 0x00000579u:
+            case 0x0000057cu:
             {
                 if (name == BuiltInName::exp2_20B)
                 {
@@ -49590,7 +49573,7 @@
                 }
                 break;
             }
-            case 0x00000582u:
+            case 0x00000585u:
             {
                 if (name == BuiltInName::gl_MaxCombinedTextureImageUnits)
                 {
@@ -49598,7 +49581,7 @@
                 }
                 break;
             }
-            case 0x00000584u:
+            case 0x00000587u:
             {
                 if (name == BuiltInName::reflect_20B20B)
                 {
@@ -49606,7 +49589,7 @@
                 }
                 break;
             }
-            case 0x00000587u:
+            case 0x0000058au:
             {
                 if (name == BuiltInName::equal_10F10F)
                 {
@@ -49614,7 +49597,7 @@
                 }
                 break;
             }
-            case 0x0000058au:
+            case 0x0000058du:
             {
                 if (name == BuiltInName::acos_30B)
                 {
@@ -49622,7 +49605,7 @@
                 }
                 break;
             }
-            case 0x0000058eu:
+            case 0x00000591u:
             {
                 if (name == BuiltInName::texture1DProj_00g30B)
                 {
@@ -49630,7 +49613,7 @@
                 }
                 break;
             }
-            case 0x00000591u:
+            case 0x00000593u:
             {
                 if (name == BuiltInName::fract_00B)
                 {
@@ -49638,7 +49621,7 @@
                 }
                 break;
             }
-            case 0x00000594u:
+            case 0x00000596u:
             {
                 if (name == BuiltInName::gl_MinProgramTexelOffset)
                 {
@@ -49646,7 +49629,7 @@
                 }
                 break;
             }
-            case 0x00000596u:
+            case 0x00000598u:
             {
                 if (name == BuiltInName::gl_MaxGeometryTotalOutputComponents)
                 {
@@ -49654,7 +49637,7 @@
                 }
                 break;
             }
-            case 0x00000598u:
+            case 0x0000059au:
             {
                 if (name == BuiltInName::reflect_30B30B)
                 {
@@ -49662,7 +49645,7 @@
                 }
                 break;
             }
-            case 0x0000059bu:
+            case 0x0000059du:
             {
                 if (name == BuiltInName::mod_30B30B)
                 {
@@ -49670,7 +49653,7 @@
                 }
                 break;
             }
-            case 0x000005a1u:
+            case 0x000005a3u:
             {
                 if (name == BuiltInName::pow_00B00B)
                 {
@@ -49678,7 +49661,7 @@
                 }
                 break;
             }
-            case 0x000005a2u:
+            case 0x000005a4u:
             {
                 if (name == BuiltInName::mod_00B00B)
                 {
@@ -49686,7 +49669,7 @@
                 }
                 break;
             }
-            case 0x000005acu:
+            case 0x000005aeu:
             {
                 if (name == BuiltInName::distance_20B20B)
                 {
@@ -49694,7 +49677,7 @@
                 }
                 break;
             }
-            case 0x000005b1u:
+            case 0x000005b3u:
             {
                 if (name == BuiltInName::gl_MaxCombinedImageUniforms)
                 {
@@ -49702,7 +49685,7 @@
                 }
                 break;
             }
-            case 0x000005bfu:
+            case 0x000005c1u:
             {
                 if (name == BuiltInName::mix_10B10B10B)
                 {
@@ -49710,7 +49693,7 @@
                 }
                 break;
             }
-            case 0x000005cdu:
+            case 0x000005cfu:
             {
                 if (name == BuiltInName::atan_20B20B)
                 {
@@ -49718,7 +49701,7 @@
                 }
                 break;
             }
-            case 0x000005d5u:
+            case 0x000005d7u:
             {
                 if (name == BuiltInName::gl_MaxVertexImageUniforms)
                 {
@@ -49726,7 +49709,7 @@
                 }
                 break;
             }
-            case 0x000005ddu:
+            case 0x000005dfu:
             {
                 if (name == BuiltInName::smoothstep_00B00B10B)
                 {
@@ -49734,7 +49717,7 @@
                 }
                 break;
             }
-            case 0x000005e2u:
+            case 0x000005e4u:
             {
                 if (name == BuiltInName::normalize_10B)
                 {
@@ -49742,7 +49725,7 @@
                 }
                 break;
             }
-            case 0x000005ebu:
+            case 0x000005edu:
             {
                 if (name == BuiltInName::any_20F)
                 {
@@ -49750,7 +49733,7 @@
                 }
                 break;
             }
-            case 0x000005eeu:
+            case 0x000005f0u:
             {
                 if (name == BuiltInName::sin_10B)
                 {
@@ -49758,7 +49741,7 @@
                 }
                 break;
             }
-            case 0x000005f0u:
+            case 0x000005f2u:
             {
                 if (name == BuiltInName::mod_20B20B)
                 {
@@ -49766,7 +49749,7 @@
                 }
                 break;
             }
-            case 0x000005fcu:
+            case 0x000005feu:
             {
                 if (name == BuiltInName::refract_30B30B00B)
                 {
@@ -49774,7 +49757,7 @@
                 }
                 break;
             }
-            case 0x000005feu:
+            case 0x00000600u:
             {
                 if (name == BuiltInName::floor_20B)
                 {
@@ -49782,7 +49765,7 @@
                 }
                 break;
             }
-            case 0x00000601u:
+            case 0x00000603u:
             {
                 if (name == BuiltInName::matrixCompMult_F0BF0B)
                 {
@@ -49790,7 +49773,7 @@
                 }
                 break;
             }
-            case 0x00000611u:
+            case 0x00000613u:
             {
                 if (name == BuiltInName::noise1_00B)
                 {
@@ -49798,7 +49781,7 @@
                 }
                 break;
             }
-            case 0x00000615u:
+            case 0x00000617u:
             {
                 if (name == BuiltInName::length_30B)
                 {
@@ -49806,7 +49789,7 @@
                 }
                 break;
             }
-            case 0x0000061cu:
+            case 0x0000061eu:
             {
                 if (name == BuiltInName::exp2_30B)
                 {
@@ -49814,7 +49797,7 @@
                 }
                 break;
             }
-            case 0x0000062fu:
+            case 0x00000631u:
             {
                 if (name == BuiltInName::texture3DProj_00J30B)
                 {
@@ -49822,7 +49805,7 @@
                 }
                 break;
             }
-            case 0x00000632u:
+            case 0x00000634u:
             {
                 if (name == BuiltInName::lessThan_30B30B)
                 {
@@ -49830,7 +49813,7 @@
                 }
                 break;
             }
-            case 0x00000633u:
+            case 0x00000635u:
             {
                 if (name == BuiltInName::cross_20B20B)
                 {
@@ -49838,7 +49821,7 @@
                 }
                 break;
             }
-            case 0x00000636u:
+            case 0x00000638u:
             {
                 if (name == BuiltInName::clamp_20B00B00B)
                 {
@@ -49846,7 +49829,7 @@
                 }
                 break;
             }
-            case 0x0000063au:
+            case 0x0000063cu:
             {
                 if (name == BuiltInName::acos_20B)
                 {
@@ -49854,7 +49837,7 @@
                 }
                 break;
             }
-            case 0x0000063du:
+            case 0x0000063fu:
             {
                 if (name == BuiltInName::max_20B20B)
                 {
@@ -49862,7 +49845,7 @@
                 }
                 break;
             }
-            case 0x0000064eu:
+            case 0x00000650u:
             {
                 if (name == BuiltInName::faceforward_00B00B00B)
                 {
@@ -49870,7 +49853,7 @@
                 }
                 break;
             }
-            case 0x0000066bu:
+            case 0x0000066du:
             {
                 if (name == BuiltInName::gl_MaxFragmentUniformVectors)
                 {
@@ -49878,7 +49861,7 @@
                 }
                 break;
             }
-            case 0x00000670u:
+            case 0x00000672u:
             {
                 if (name == BuiltInName::abs_30B)
                 {
@@ -49886,7 +49869,7 @@
                 }
                 break;
             }
-            case 0x00000674u:
+            case 0x00000676u:
             {
                 if (name == BuiltInName::mix_10B10B00B)
                 {
@@ -49894,7 +49877,7 @@
                 }
                 break;
             }
-            case 0x00000680u:
+            case 0x00000682u:
             {
                 if (name == BuiltInName::pow_20B20B)
                 {
@@ -49902,7 +49885,7 @@
                 }
                 break;
             }
-            case 0x0000068bu:
+            case 0x0000068du:
             {
                 if (name == BuiltInName::log2_20B)
                 {
@@ -49910,7 +49893,7 @@
                 }
                 break;
             }
-            case 0x00000692u:
+            case 0x00000694u:
             {
                 if (name == BuiltInName::notEqual_10F10F)
                 {
@@ -49918,7 +49901,7 @@
                 }
                 break;
             }
-            case 0x00000694u:
+            case 0x00000696u:
             {
                 if (name == BuiltInName::smoothstep_00B00B00B)
                 {
@@ -49926,7 +49909,7 @@
                 }
                 break;
             }
-            case 0x00000699u:
+            case 0x0000069bu:
             {
                 if (name == BuiltInName::gl_MaxCombinedAtomicCounters)
                 {
@@ -49934,7 +49917,7 @@
                 }
                 break;
             }
-            case 0x000006a2u:
+            case 0x000006a4u:
             {
                 if (name == BuiltInName::lessThanEqual_10D10D)
                 {
@@ -49942,7 +49925,7 @@
                 }
                 break;
             }
-            case 0x000006a4u:
+            case 0x000006a6u:
             {
                 if (name == BuiltInName::gl_MaxVaryingVectors)
                 {
@@ -49950,7 +49933,7 @@
                 }
                 break;
             }
-            case 0x000006a6u:
+            case 0x000006a8u:
             {
                 if (name == BuiltInName::sin_00B)
                 {
@@ -49958,7 +49941,7 @@
                 }
                 break;
             }
-            case 0x000006d2u:
+            case 0x000006d4u:
             {
                 if (name == BuiltInName::gl_MaxComputeAtomicCounters)
                 {
@@ -49966,7 +49949,7 @@
                 }
                 break;
             }
-            case 0x000006d5u:
+            case 0x000006d7u:
             {
                 if (name == BuiltInName::gl_DepthRangeParameters)
                 {
@@ -49974,7 +49957,7 @@
                 }
                 break;
             }
-            case 0x000006d8u:
+            case 0x000006dau:
             {
                 if (name == BuiltInName::noise1_10B)
                 {
@@ -49982,7 +49965,7 @@
                 }
                 break;
             }
-            case 0x000006dau:
+            case 0x000006dcu:
             {
                 if (name == BuiltInName::shadow2DProj_00d30B)
                 {
@@ -49990,7 +49973,7 @@
                 }
                 break;
             }
-            case 0x000006dcu:
+            case 0x000006deu:
             {
                 if (name == BuiltInName::sign_10B)
                 {
@@ -49998,7 +49981,7 @@
                 }
                 break;
             }
-            case 0x000006e8u:
+            case 0x000006eau:
             {
                 if (name == BuiltInName::exp2_00B)
                 {
@@ -50006,7 +49989,7 @@
                 }
                 break;
             }
-            case 0x00000704u:
+            case 0x00000705u:
             {
                 if (name == BuiltInName::asin_20B)
                 {
@@ -50014,7 +49997,7 @@
                 }
                 break;
             }
-            case 0x0000070cu:
+            case 0x0000070du:
             {
                 if (name == BuiltInName::texture1DProj_00g10B)
                 {
@@ -50022,7 +50005,7 @@
                 }
                 break;
             }
-            case 0x00000720u:
+            case 0x00000721u:
             {
                 if (name == BuiltInName::mix_30B30B00B)
                 {
@@ -50030,7 +50013,7 @@
                 }
                 break;
             }
-            case 0x00000729u:
+            case 0x0000072au:
             {
                 if (name == BuiltInName::gl_MaxComputeUniformComponents)
                 {
@@ -50038,7 +50021,7 @@
                 }
                 break;
             }
-            case 0x0000072eu:
+            case 0x0000072fu:
             {
                 if (name == BuiltInName::min_30B30B)
                 {
@@ -50046,7 +50029,7 @@
                 }
                 break;
             }
-            case 0x00000739u:
+            case 0x0000073au:
             {
                 if (name == BuiltInName::atan_10B)
                 {
@@ -50054,7 +50037,7 @@
                 }
                 break;
             }
-            case 0x0000073fu:
+            case 0x00000740u:
             {
                 if (name == BuiltInName::step_00B10B)
                 {
@@ -50062,7 +50045,7 @@
                 }
                 break;
             }
-            case 0x00000745u:
+            case 0x00000746u:
             {
                 if (name == BuiltInName::log2_10B)
                 {
@@ -50070,7 +50053,7 @@
                 }
                 break;
             }
-            case 0x0000074cu:
+            case 0x0000074du:
             {
                 if (name == BuiltInName::noise2_30B)
                 {
@@ -50078,7 +50061,7 @@
                 }
                 break;
             }
-            case 0x0000074eu:
+            case 0x0000074fu:
             {
                 if (name == BuiltInName::greaterThanEqual_10B10B)
                 {
@@ -50086,7 +50069,7 @@
                 }
                 break;
             }
-            case 0x00000761u:
+            case 0x00000762u:
             {
                 if (name == BuiltInName::mod_20B00B)
                 {
@@ -50094,7 +50077,7 @@
                 }
                 break;
             }
-            case 0x00000777u:
+            case 0x00000778u:
             {
                 if (name == BuiltInName::greaterThan_10D10D)
                 {
@@ -50102,7 +50085,7 @@
                 }
                 break;
             }
-            case 0x0000077eu:
+            case 0x0000077fu:
             {
                 if (name == BuiltInName::greaterThan_20D20D)
                 {
@@ -50110,7 +50093,7 @@
                 }
                 break;
             }
-            case 0x0000077fu:
+            case 0x00000780u:
             {
                 if (name == BuiltInName::noise1_20B)
                 {
@@ -50118,7 +50101,7 @@
                 }
                 break;
             }
-            case 0x00000784u:
+            case 0x00000785u:
             {
                 if (name == BuiltInName::length_10B)
                 {
@@ -50126,7 +50109,7 @@
                 }
                 break;
             }
-            case 0x0000078au:
+            case 0x0000078bu:
             {
                 if (name == BuiltInName::dot_00B00B)
                 {
@@ -50134,7 +50117,7 @@
                 }
                 break;
             }
-            case 0x0000078bu:
+            case 0x0000078cu:
             {
                 if (name == BuiltInName::tan_30B)
                 {
@@ -50142,7 +50125,7 @@
                 }
                 break;
             }
-            case 0x0000078eu:
+            case 0x0000078fu:
             {
                 if (name == BuiltInName::exp2_10B)
                 {
@@ -50150,7 +50133,7 @@
                 }
                 break;
             }
-            case 0x00000791u:
+            case 0x00000792u:
             {
                 if (name == BuiltInName::matrixCompMult_A0BA0B)
                 {
@@ -50158,7 +50141,7 @@
                 }
                 break;
             }
-            case 0x000007b4u:
+            case 0x000007b5u:
             {
                 if (name == BuiltInName::asin_30B)
                 {
@@ -50166,7 +50149,7 @@
                 }
                 break;
             }
-            case 0x000007c2u:
+            case 0x000007c3u:
             {
                 if (name == BuiltInName::mod_10B00B)
                 {
@@ -50174,7 +50157,7 @@
                 }
                 break;
             }
-            case 0x000007d0u:
+            case 0x000007d1u:
             {
                 if (name == BuiltInName::log2_00B)
                 {
@@ -50182,7 +50165,7 @@
                 }
                 break;
             }
-            case 0x000007d7u:
+            case 0x000007d8u:
             {
                 if (name == BuiltInName::clamp_00B00B00B)
                 {
@@ -50190,7 +50173,7 @@
                 }
                 break;
             }
-            case 0x000007d9u:
+            case 0x000007dau:
             {
                 if (name == BuiltInName::gl_MaxGeometryAtomicCounterBuffers)
                 {
@@ -50198,7 +50181,7 @@
                 }
                 break;
             }
-            case 0x000007eeu:
+            case 0x000007efu:
             {
                 if (name == BuiltInName::step_00B00B)
                 {
@@ -50206,7 +50189,7 @@
                 }
                 break;
             }
-            case 0x000007efu:
+            case 0x000007f0u:
             {
                 if (name == BuiltInName::gl_MaxGeometryInputComponents)
                 {
@@ -50214,7 +50197,7 @@
                 }
                 break;
             }
-            case 0x00000801u:
+            case 0x00000802u:
             {
                 if (name == BuiltInName::texture3D_00J20B)
                 {
@@ -50222,7 +50205,7 @@
                 }
                 break;
             }
-            case 0x00000802u:
+            case 0x00000803u:
             {
                 if (name == BuiltInName::gl_SecondaryFragDataEXT)
                 {
@@ -50232,7 +50215,7 @@
                 }
                 break;
             }
-            case 0x00000815u:
+            case 0x00000816u:
             {
                 if (name == BuiltInName::min_00B00B)
                 {
@@ -50240,7 +50223,7 @@
                 }
                 break;
             }
-            case 0x0000081au:
+            case 0x0000081bu:
             {
                 if (name == BuiltInName::degrees_00B)
                 {
@@ -50248,7 +50231,7 @@
                 }
                 break;
             }
-            case 0x00000821u:
+            case 0x00000822u:
             {
                 if (name == BuiltInName::gl_MaxGeometryAtomicCounters)
                 {
@@ -50256,7 +50239,7 @@
                 }
                 break;
             }
-            case 0x0000082bu:
+            case 0x0000082cu:
             {
                 if (name == BuiltInName::lessThan_30D30D)
                 {
@@ -50264,7 +50247,7 @@
                 }
                 break;
             }
-            case 0x0000082cu:
+            case 0x0000082du:
             {
                 if (name == BuiltInName::atan_00B00B)
                 {
@@ -50272,7 +50255,7 @@
                 }
                 break;
             }
-            case 0x0000082fu:
+            case 0x00000830u:
             {
                 if (name == BuiltInName::notEqual_10B10B)
                 {
@@ -50280,7 +50263,7 @@
                 }
                 break;
             }
-            case 0x00000833u:
+            case 0x00000834u:
             {
                 if (name == BuiltInName::length_00B)
                 {
@@ -50288,7 +50271,7 @@
                 }
                 break;
             }
-            case 0x0000083cu:
+            case 0x0000083du:
             {
                 if (name == BuiltInName::tan_00B)
                 {
@@ -50296,7 +50279,7 @@
                 }
                 break;
             }
-            case 0x00000846u:
+            case 0x00000847u:
             {
                 if (name == BuiltInName::min_20B20B)
                 {
@@ -50304,7 +50287,7 @@
                 }
                 break;
             }
-            case 0x0000084cu:
+            case 0x0000084du:
             {
                 if (name == BuiltInName::gl_MaxProgramTexelOffset)
                 {
@@ -50473,14 +50456,6 @@
                 }
                 break;
             }
-            case 0x0000090bu:
-            {
-                if (name == BuiltInName::mix_20B20B20B)
-                {
-                    return &BuiltInFunction::function_mix_20B20B20B;
-                }
-                break;
-            }
             case 0x0000091au:
             {
                 if (name == BuiltInName::cos_20B)
@@ -50526,7 +50501,7 @@
                     }
                     break;
                 }
-                case 0x000003abu:
+                case 0x000003adu:
                 {
                     if (name == BuiltInName::texture2DProjLod_00I30B00B)
                     {
@@ -50534,7 +50509,7 @@
                     }
                     break;
                 }
-                case 0x000003d2u:
+                case 0x000003d4u:
                 {
                     if (name == BuiltInName::texture2DLod_00I10B00B)
                     {
@@ -50542,7 +50517,7 @@
                     }
                     break;
                 }
-                case 0x00000434u:
+                case 0x00000436u:
                 {
                     if (name == BuiltInName::gl_Position)
                     {
@@ -50550,7 +50525,7 @@
                     }
                     break;
                 }
-                case 0x000004a4u:
+                case 0x000004a7u:
                 {
                     if (name == BuiltInName::shadow1DLod_00m20B00B)
                     {
@@ -50558,7 +50533,7 @@
                     }
                     break;
                 }
-                case 0x000004b0u:
+                case 0x000004b3u:
                 {
                     if (name == BuiltInName::texture2DProjLod_00I20B00B)
                     {
@@ -50566,7 +50541,7 @@
                     }
                     break;
                 }
-                case 0x00000542u:
+                case 0x00000545u:
                 {
                     if (name == BuiltInName::texture1DLod_00g00B00B)
                     {
@@ -50574,7 +50549,7 @@
                     }
                     break;
                 }
-                case 0x0000056bu:
+                case 0x0000056eu:
                 {
                     if (name == BuiltInName::texture1DProjLod_00g30B00B)
                     {
@@ -50582,7 +50557,7 @@
                     }
                     break;
                 }
-                case 0x000005b6u:
+                case 0x000005b8u:
                 {
                     if (name == BuiltInName::gl_VertexID)
                     {
@@ -50590,7 +50565,7 @@
                     }
                     break;
                 }
-                case 0x000006c8u:
+                case 0x000006cau:
                 {
                     if (name == BuiltInName::shadow1DProjLod_00m30B00B)
                     {
@@ -50598,7 +50573,7 @@
                     }
                     break;
                 }
-                case 0x00000707u:
+                case 0x00000708u:
                 {
                     if (name == BuiltInName::texture1DProjLod_00g10B00B)
                     {
@@ -50606,7 +50581,7 @@
                     }
                     break;
                 }
-                case 0x0000070au:
+                case 0x0000070bu:
                 {
                     if (name == BuiltInName::shadow2DLod_00d20B00B)
                     {
@@ -50614,7 +50589,7 @@
                     }
                     break;
                 }
-                case 0x0000072cu:
+                case 0x0000072du:
                 {
                     if (name == BuiltInName::shadow2DProjLod_00d30B00B)
                     {
@@ -50700,7 +50675,7 @@
                     }
                     break;
                 }
-                case 0x0000041eu:
+                case 0x00000420u:
                 {
                     if (name == BuiltInName::gl_FragDepth)
                     {
@@ -50708,7 +50683,7 @@
                     }
                     break;
                 }
-                case 0x00000494u:
+                case 0x00000497u:
                 {
                     if (name == BuiltInName::texture3DLod_00J20B00B)
                     {
@@ -50716,7 +50691,7 @@
                     }
                     break;
                 }
-                case 0x000004dbu:
+                case 0x000004deu:
                 {
                     if (name == BuiltInName::gl_FragColor)
                     {
@@ -50724,7 +50699,7 @@
                     }
                     break;
                 }
-                case 0x000004f3u:
+                case 0x000004f6u:
                 {
                     if (name == BuiltInName::gl_FragCoord)
                     {
@@ -50732,7 +50707,7 @@
                     }
                     break;
                 }
-                case 0x0000051eu:
+                case 0x00000521u:
                 {
                     if (name == BuiltInName::fwidth_10B)
                     {
@@ -50740,7 +50715,7 @@
                     }
                     break;
                 }
-                case 0x00000541u:
+                case 0x00000544u:
                 {
                     if (name == BuiltInName::texture3D_00J20B00B)
                     {
@@ -50748,7 +50723,7 @@
                     }
                     break;
                 }
-                case 0x0000054eu:
+                case 0x00000551u:
                 {
                     if (name == BuiltInName::shadow1DProj_00m30B00B)
                     {
@@ -50756,7 +50731,7 @@
                     }
                     break;
                 }
-                case 0x0000055cu:
+                case 0x0000055fu:
                 {
                     if (name == BuiltInName::gl_PointCoord)
                     {
@@ -50764,7 +50739,7 @@
                     }
                     break;
                 }
-                case 0x0000058bu:
+                case 0x0000058eu:
                 {
                     if (name == BuiltInName::dFdx_10B)
                     {
@@ -50772,7 +50747,7 @@
                     }
                     break;
                 }
-                case 0x0000059fu:
+                case 0x000005a1u:
                 {
                     if (name == BuiltInName::texture1D_00g00B00B)
                     {
@@ -50780,7 +50755,7 @@
                     }
                     break;
                 }
-                case 0x0000061fu:
+                case 0x00000621u:
                 {
                     if (name == BuiltInName::texture3DProj_00J30B00B)
                     {
@@ -50788,7 +50763,7 @@
                     }
                     break;
                 }
-                case 0x00000637u:
+                case 0x00000639u:
                 {
                     if (name == BuiltInName::dFdx_00B)
                     {
@@ -50796,7 +50771,7 @@
                     }
                     break;
                 }
-                case 0x00000658u:
+                case 0x0000065au:
                 {
                     if (name == BuiltInName::texture1DProj_00g30B00B)
                     {
@@ -50804,7 +50779,7 @@
                     }
                     break;
                 }
-                case 0x000006feu:
+                case 0x000006ffu:
                 {
                     if (name == BuiltInName::dFdx_30B)
                     {
@@ -50812,7 +50787,7 @@
                     }
                     break;
                 }
-                case 0x00000709u:
+                case 0x0000070au:
                 {
                     if (name == BuiltInName::dFdy_00B)
                     {
@@ -50820,7 +50795,7 @@
                     }
                     break;
                 }
-                case 0x0000077du:
+                case 0x0000077eu:
                 {
                     if (name == BuiltInName::texture2D_00I10B00B)
                     {
@@ -50828,7 +50803,7 @@
                     }
                     break;
                 }
-                case 0x0000079fu:
+                case 0x000007a0u:
                 {
                     if (name == BuiltInName::dFdx_20B)
                     {
@@ -50836,7 +50811,7 @@
                     }
                     break;
                 }
-                case 0x000007b7u:
+                case 0x000007b8u:
                 {
                     if (name == BuiltInName::fwidth_00B)
                     {
@@ -50844,7 +50819,7 @@
                     }
                     break;
                 }
-                case 0x000007b8u:
+                case 0x000007b9u:
                 {
                     if (name == BuiltInName::dFdy_10B)
                     {
@@ -50852,7 +50827,7 @@
                     }
                     break;
                 }
-                case 0x00000811u:
+                case 0x00000812u:
                 {
                     if (name == BuiltInName::texture2DProj_00I30B00B)
                     {
@@ -50904,7 +50879,7 @@
         {
             switch (nameHash)
             {
-                case 0x000007c1u:
+                case 0x000007c2u:
                 {
                     if (name == BuiltInName::gl_LastFragData)
                     {
@@ -50918,7 +50893,7 @@
         {
             switch (nameHash)
             {
-                case 0x00000701u:
+                case 0x00000702u:
                 {
                     if (name == BuiltInName::gl_LastFragColor)
                     {
@@ -50926,7 +50901,7 @@
                     }
                     break;
                 }
-                case 0x000007c1u:
+                case 0x000007c2u:
                 {
                     if (name == BuiltInName::gl_LastFragData)
                     {
@@ -50954,7 +50929,7 @@
         {
             switch (nameHash)
             {
-                case 0x000006f7u:
+                case 0x000006f8u:
                 {
                     if (name == BuiltInName::gl_PrimitiveID)
                     {
@@ -50962,7 +50937,7 @@
                     }
                     break;
                 }
-                case 0x000006fcu:
+                case 0x000006fdu:
                 {
                     if (name == BuiltInName::gl_Layer)
                     {
@@ -50976,11 +50951,11 @@
         {
             switch (nameHash)
             {
-                case 0x00000492u:
+                case 0x00000495u:
                 {
                     if (name == BuiltInName::gl_DrawID)
                     {
-                        return &BuiltInVariable::kVar_gl_DrawIDESSL1;
+                        return &BuiltInVariable::kVar_gl_DrawID;
                     }
                     break;
                 }
@@ -51012,7 +50987,7 @@
         {
             switch (nameHash)
             {
-                case 0x0000038fu:
+                case 0x00000390u:
                 {
                     if (name == BuiltInName::gl_WorkGroupSize)
                     {
@@ -51020,7 +50995,7 @@
                     }
                     break;
                 }
-                case 0x000005b5u:
+                case 0x000005b7u:
                 {
                     if (name == BuiltInName::gl_GlobalInvocationID)
                     {
@@ -51028,7 +51003,7 @@
                     }
                     break;
                 }
-                case 0x0000064fu:
+                case 0x00000651u:
                 {
                     if (name == BuiltInName::gl_NumWorkGroups)
                     {
@@ -51036,7 +51011,7 @@
                     }
                     break;
                 }
-                case 0x000007d6u:
+                case 0x000007d7u:
                 {
                     if (name == BuiltInName::gl_LocalInvocationID)
                     {
@@ -51044,7 +51019,7 @@
                     }
                     break;
                 }
-                case 0x00000819u:
+                case 0x0000081au:
                 {
                     if (name == BuiltInName::gl_WorkGroupID)
                     {
@@ -51074,7 +51049,7 @@
                     }
                     break;
                 }
-                case 0x0000038bu:
+                case 0x0000038cu:
                 {
                     if (name == BuiltInName::gl_PerVertex)
                     {
@@ -51082,7 +51057,7 @@
                     }
                     break;
                 }
-                case 0x00000434u:
+                case 0x00000436u:
                 {
                     if (name == BuiltInName::gl_Position)
                     {
@@ -51090,7 +51065,7 @@
                     }
                     break;
                 }
-                case 0x000006f7u:
+                case 0x000006f8u:
                 {
                     if (name == BuiltInName::gl_PrimitiveID)
                     {
@@ -51098,7 +51073,7 @@
                     }
                     break;
                 }
-                case 0x000006fcu:
+                case 0x000006fdu:
                 {
                     if (name == BuiltInName::gl_Layer)
                     {
@@ -51237,7 +51212,7 @@
                     }
                     break;
                 }
-                case 0x00000372u:
+                case 0x00000373u:
                 {
                     if (name == BuiltInName::frexp)
                     {
@@ -51245,7 +51220,7 @@
                     }
                     break;
                 }
-                case 0x000003b4u:
+                case 0x000003b6u:
                 {
                     if (name == BuiltInName::packUnorm4x8)
                     {
@@ -51253,7 +51228,7 @@
                     }
                     break;
                 }
-                case 0x00000464u:
+                case 0x00000467u:
                 {
                     if (name == BuiltInName::memoryBarrier)
                     {
@@ -51261,7 +51236,7 @@
                     }
                     break;
                 }
-                case 0x0000046bu:
+                case 0x0000046eu:
                 {
                     if (name == BuiltInName::atomicCounter)
                     {
@@ -51269,7 +51244,7 @@
                     }
                     break;
                 }
-                case 0x0000046fu:
+                case 0x00000472u:
                 {
                     if (name == BuiltInName::bitfieldExtract)
                     {
@@ -51277,7 +51252,7 @@
                     }
                     break;
                 }
-                case 0x000004b8u:
+                case 0x000004bbu:
                 {
                     if (name == BuiltInName::uaddCarry)
                     {
@@ -51285,7 +51260,7 @@
                     }
                     break;
                 }
-                case 0x000004d3u:
+                case 0x000004d6u:
                 {
                     if (name == BuiltInName::unpackUnorm4x8)
                     {
@@ -51293,7 +51268,7 @@
                     }
                     break;
                 }
-                case 0x00000517u:
+                case 0x0000051au:
                 {
                     if (name == BuiltInName::texelFetch)
                     {
@@ -51301,7 +51276,7 @@
                     }
                     break;
                 }
-                case 0x00000565u:
+                case 0x00000568u:
                 {
                     if (name == BuiltInName::bitfieldReverse)
                     {
@@ -51309,7 +51284,7 @@
                     }
                     break;
                 }
-                case 0x000005a0u:
+                case 0x000005a2u:
                 {
                     if (name == BuiltInName::memoryBarrierBuffer)
                     {
@@ -51317,7 +51292,7 @@
                     }
                     break;
                 }
-                case 0x000005e4u:
+                case 0x000005e6u:
                 {
                     if (name == BuiltInName::findMSB)
                     {
@@ -51325,7 +51300,7 @@
                     }
                     break;
                 }
-                case 0x00000609u:
+                case 0x0000060bu:
                 {
                     if (name == BuiltInName::imageStore)
                     {
@@ -51333,7 +51308,7 @@
                     }
                     break;
                 }
-                case 0x00000678u:
+                case 0x0000067au:
                 {
                     if (name == BuiltInName::unpackSnorm4x8)
                     {
@@ -51341,7 +51316,7 @@
                     }
                     break;
                 }
-                case 0x000006a7u:
+                case 0x000006a9u:
                 {
                     if (name == BuiltInName::bitCount)
                     {
@@ -51349,7 +51324,7 @@
                     }
                     break;
                 }
-                case 0x000006c7u:
+                case 0x000006c9u:
                 {
                     if (name == BuiltInName::atomicAdd)
                     {
@@ -51357,7 +51332,7 @@
                     }
                     break;
                 }
-                case 0x000006fau:
+                case 0x000006fbu:
                 {
                     if (name == BuiltInName::findLSB)
                     {
@@ -51365,7 +51340,7 @@
                     }
                     break;
                 }
-                case 0x00000775u:
+                case 0x00000776u:
                 {
                     if (name == BuiltInName::atomicMin)
                     {
@@ -51373,7 +51348,7 @@
                     }
                     break;
                 }
-                case 0x000007a0u:
+                case 0x000007a1u:
                 {
                     if (name == BuiltInName::textureGatherOffset)
                     {
@@ -51381,7 +51356,7 @@
                     }
                     break;
                 }
-                case 0x000007beu:
+                case 0x000007bfu:
                 {
                     if (name == BuiltInName::textureSize)
                     {
@@ -51389,7 +51364,7 @@
                     }
                     break;
                 }
-                case 0x000007cfu:
+                case 0x000007d0u:
                 {
                     if (name == BuiltInName::atomicCompSwap)
                     {
@@ -51397,7 +51372,7 @@
                     }
                     break;
                 }
-                case 0x000007e5u:
+                case 0x000007e6u:
                 {
                     if (name == BuiltInName::atomicXor)
                     {
@@ -51405,7 +51380,7 @@
                     }
                     break;
                 }
-                case 0x000007fbu:
+                case 0x000007fcu:
                 {
                     if (name == BuiltInName::umulExtended)
                     {
@@ -51413,7 +51388,7 @@
                     }
                     break;
                 }
-                case 0x0000081eu:
+                case 0x0000081fu:
                 {
                     if (name == BuiltInName::memoryBarrierAtomicCounter)
                     {
@@ -51421,7 +51396,7 @@
                     }
                     break;
                 }
-                case 0x00000838u:
+                case 0x00000839u:
                 {
                     if (name == BuiltInName::imageLoad)
                     {
@@ -51466,7 +51441,7 @@
                         }
                         break;
                     }
-                    case 0x000007a4u:
+                    case 0x000007a5u:
                     {
                         if (name == BuiltInName::memoryBarrierShared)
                         {
@@ -51474,7 +51449,7 @@
                         }
                         break;
                     }
-                    case 0x000007f8u:
+                    case 0x000007f9u:
                     {
                         if (name == BuiltInName::groupMemoryBarrier)
                         {
@@ -51496,7 +51471,7 @@
                         }
                         break;
                     }
-                    case 0x000006ccu:
+                    case 0x000006ceu:
                     {
                         if (name == BuiltInName::EndPrimitive)
                         {
@@ -51527,6 +51502,14 @@
                     }
                     break;
                 }
+                case 0x000000b5u:
+                {
+                    if (name == BuiltInName::textureOffset)
+                    {
+                        return &UnmangledBuiltIns::UNDEFINED;
+                    }
+                    break;
+                }
                 case 0x00000117u:
                 {
                     if (name == BuiltInName::unpackUnorm2x16)
@@ -51623,7 +51606,7 @@
                     }
                     break;
                 }
-                case 0x00000370u:
+                case 0x00000371u:
                 {
                     if (name == BuiltInName::texture)
                     {
@@ -51631,7 +51614,7 @@
                     }
                     break;
                 }
-                case 0x000003a4u:
+                case 0x000003a5u:
                 {
                     if (name == BuiltInName::textureLodOffset)
                     {
@@ -51639,7 +51622,7 @@
                     }
                     break;
                 }
-                case 0x000003dfu:
+                case 0x000003e1u:
                 {
                     if (name == BuiltInName::packSnorm2x16)
                     {
@@ -51647,7 +51630,7 @@
                     }
                     break;
                 }
-                case 0x00000430u:
+                case 0x00000432u:
                 {
                     if (name == BuiltInName::textureGrad)
                     {
@@ -51655,7 +51638,7 @@
                     }
                     break;
                 }
-                case 0x0000049cu:
+                case 0x0000049fu:
                 {
                     if (name == BuiltInName::acosh)
                     {
@@ -51663,7 +51646,7 @@
                     }
                     break;
                 }
-                case 0x000004beu:
+                case 0x000004c1u:
                 {
                     if (name == BuiltInName::abs)
                     {
@@ -51671,7 +51654,7 @@
                     }
                     break;
                 }
-                case 0x000004c9u:
+                case 0x000004ccu:
                 {
                     if (name == BuiltInName::textureProjOffset)
                     {
@@ -51679,7 +51662,7 @@
                     }
                     break;
                 }
-                case 0x000004cau:
+                case 0x000004cdu:
                 {
                     if (name == BuiltInName::trunc)
                     {
@@ -51687,7 +51670,7 @@
                     }
                     break;
                 }
-                case 0x000004e8u:
+                case 0x000004ebu:
                 {
                     if (name == BuiltInName::greaterThan)
                     {
@@ -51695,7 +51678,7 @@
                     }
                     break;
                 }
-                case 0x00000506u:
+                case 0x00000509u:
                 {
                     if (name == BuiltInName::atanh)
                     {
@@ -51703,7 +51686,7 @@
                     }
                     break;
                 }
-                case 0x00000517u:
+                case 0x0000051au:
                 {
                     if (name == BuiltInName::texelFetch)
                     {
@@ -51711,7 +51694,7 @@
                     }
                     break;
                 }
-                case 0x0000051au:
+                case 0x0000051du:
                 {
                     if (name == BuiltInName::outerProduct)
                     {
@@ -51719,7 +51702,7 @@
                     }
                     break;
                 }
-                case 0x00000526u:
+                case 0x00000529u:
                 {
                     if (name == BuiltInName::rgb_2_yuv)
                     {
@@ -51727,7 +51710,7 @@
                     }
                     break;
                 }
-                case 0x00000559u:
+                case 0x0000055cu:
                 {
                     if (name == BuiltInName::clamp)
                     {
@@ -51735,7 +51718,7 @@
                     }
                     break;
                 }
-                case 0x00000567u:
+                case 0x0000056au:
                 {
                     if (name == BuiltInName::textureLod)
                     {
@@ -51743,7 +51726,7 @@
                     }
                     break;
                 }
-                case 0x00000572u:
+                case 0x00000575u:
                 {
                     if (name == BuiltInName::unpackSnorm2x16)
                     {
@@ -51751,15 +51734,7 @@
                     }
                     break;
                 }
-                case 0x0000058fu:
-                {
-                    if (name == BuiltInName::textureOffset)
-                    {
-                        return &UnmangledBuiltIns::UNDEFINED;
-                    }
-                    break;
-                }
-                case 0x00000593u:
+                case 0x00000595u:
                 {
                     if (name == BuiltInName::sign)
                     {
@@ -51767,7 +51742,7 @@
                     }
                     break;
                 }
-                case 0x000005d7u:
+                case 0x000005d9u:
                 {
                     if (name == BuiltInName::roundEven)
                     {
@@ -51775,7 +51750,7 @@
                     }
                     break;
                 }
-                case 0x00000617u:
+                case 0x00000619u:
                 {
                     if (name == BuiltInName::asinh)
                     {
@@ -51783,7 +51758,7 @@
                     }
                     break;
                 }
-                case 0x00000629u:
+                case 0x0000062bu:
                 {
                     if (name == BuiltInName::intBitsToFloat)
                     {
@@ -51791,7 +51766,7 @@
                     }
                     break;
                 }
-                case 0x00000657u:
+                case 0x00000659u:
                 {
                     if (name == BuiltInName::yuv_2_rgb)
                     {
@@ -51799,7 +51774,7 @@
                     }
                     break;
                 }
-                case 0x00000671u:
+                case 0x00000673u:
                 {
                     if (name == BuiltInName::floatBitsToInt)
                     {
@@ -51807,7 +51782,7 @@
                     }
                     break;
                 }
-                case 0x000006bbu:
+                case 0x000006bdu:
                 {
                     if (name == BuiltInName::isinf)
                     {
@@ -51815,7 +51790,7 @@
                     }
                     break;
                 }
-                case 0x000006dfu:
+                case 0x000006e1u:
                 {
                     if (name == BuiltInName::textureGradOffset)
                     {
@@ -51823,7 +51798,7 @@
                     }
                     break;
                 }
-                case 0x00000710u:
+                case 0x00000711u:
                 {
                     if (name == BuiltInName::textureProjGrad)
                     {
@@ -51831,7 +51806,7 @@
                     }
                     break;
                 }
-                case 0x0000072au:
+                case 0x0000072bu:
                 {
                     if (name == BuiltInName::sinh)
                     {
@@ -51839,7 +51814,7 @@
                     }
                     break;
                 }
-                case 0x00000797u:
+                case 0x00000798u:
                 {
                     if (name == BuiltInName::modf)
                     {
@@ -51847,7 +51822,7 @@
                     }
                     break;
                 }
-                case 0x000007b3u:
+                case 0x000007b4u:
                 {
                     if (name == BuiltInName::lessThanEqual)
                     {
@@ -51855,7 +51830,7 @@
                     }
                     break;
                 }
-                case 0x000007beu:
+                case 0x000007bfu:
                 {
                     if (name == BuiltInName::textureSize)
                     {
@@ -51863,7 +51838,7 @@
                     }
                     break;
                 }
-                case 0x000007c0u:
+                case 0x000007c1u:
                 {
                     if (name == BuiltInName::uintBitsToFloat)
                     {
@@ -51871,7 +51846,7 @@
                     }
                     break;
                 }
-                case 0x000007c3u:
+                case 0x000007c4u:
                 {
                     if (name == BuiltInName::floatBitsToUint)
                     {
@@ -51879,7 +51854,7 @@
                     }
                     break;
                 }
-                case 0x000007eau:
+                case 0x000007ebu:
                 {
                     if (name == BuiltInName::min)
                     {
@@ -51887,7 +51862,7 @@
                     }
                     break;
                 }
-                case 0x000007f0u:
+                case 0x000007f1u:
                 {
                     if (name == BuiltInName::mix)
                     {
@@ -51895,7 +51870,7 @@
                     }
                     break;
                 }
-                case 0x000007feu:
+                case 0x000007ffu:
                 {
                     if (name == BuiltInName::packHalf2x16)
                     {
@@ -51903,7 +51878,7 @@
                     }
                     break;
                 }
-                case 0x00000839u:
+                case 0x0000083au:
                 {
                     if (name == BuiltInName::isnan)
                     {
@@ -51911,7 +51886,7 @@
                     }
                     break;
                 }
-                case 0x00000845u:
+                case 0x00000846u:
                 {
                     if (name == BuiltInName::transpose)
                     {
@@ -51919,7 +51894,7 @@
                     }
                     break;
                 }
-                case 0x0000084eu:
+                case 0x0000084fu:
                 {
                     if (name == BuiltInName::equal)
                     {
@@ -52019,7 +51994,7 @@
                     }
                     break;
                 }
-                case 0x00000387u:
+                case 0x00000388u:
                 {
                     if (name == BuiltInName::texture2DProj)
                     {
@@ -52027,7 +52002,7 @@
                     }
                     break;
                 }
-                case 0x0000049eu:
+                case 0x000004a1u:
                 {
                     if (name == BuiltInName::textureCubeGradEXT)
                     {
@@ -52035,7 +52010,7 @@
                     }
                     break;
                 }
-                case 0x00000630u:
+                case 0x00000632u:
                 {
                     if (name == BuiltInName::texture2D)
                     {
@@ -52043,7 +52018,7 @@
                     }
                     break;
                 }
-                case 0x0000070bu:
+                case 0x0000070cu:
                 {
                     if (name == BuiltInName::texture2DRectProj)
                     {
@@ -52088,7 +52063,7 @@
                         }
                         break;
                     }
-                    case 0x0000039au:
+                    case 0x0000039bu:
                     {
                         if (name == BuiltInName::texture2DLodEXT)
                         {
@@ -52096,7 +52071,7 @@
                         }
                         break;
                     }
-                    case 0x0000044au:
+                    case 0x0000044du:
                     {
                         if (name == BuiltInName::textureCubeLodEXT)
                         {
@@ -52104,7 +52079,7 @@
                         }
                         break;
                     }
-                    case 0x000005bau:
+                    case 0x000005bcu:
                     {
                         if (name == BuiltInName::texture3D)
                         {
@@ -52112,7 +52087,7 @@
                         }
                         break;
                     }
-                    case 0x0000080fu:
+                    case 0x00000810u:
                     {
                         if (name == BuiltInName::texture3DLod)
                         {
@@ -52150,7 +52125,7 @@
             {
                 switch (nameHash)
                 {
-                    case 0x00000495u:
+                    case 0x00000498u:
                     {
                         if (name == BuiltInName::texture2DLod)
                         {
@@ -52158,7 +52133,7 @@
                         }
                         break;
                     }
-                    case 0x00000509u:
+                    case 0x0000050cu:
                     {
                         if (name == BuiltInName::textureCubeLod)
                         {
@@ -52307,7 +52282,7 @@
                 }
                 break;
             }
-            case 0x0000034bu:
+            case 0x0000034cu:
             {
                 if (name == BuiltInName::any)
                 {
@@ -52315,7 +52290,7 @@
                 }
                 break;
             }
-            case 0x000003a2u:
+            case 0x000003a3u:
             {
                 if (name == BuiltInName::pow)
                 {
@@ -52323,7 +52298,7 @@
                 }
                 break;
             }
-            case 0x00000410u:
+            case 0x00000412u:
             {
                 if (name == BuiltInName::mod)
                 {
@@ -52331,7 +52306,7 @@
                 }
                 break;
             }
-            case 0x0000044eu:
+            case 0x00000451u:
             {
                 if (name == BuiltInName::log)
                 {
@@ -52339,7 +52314,7 @@
                 }
                 break;
             }
-            case 0x00000496u:
+            case 0x00000499u:
             {
                 if (name == BuiltInName::all)
                 {
@@ -52347,7 +52322,7 @@
                 }
                 break;
             }
-            case 0x000004beu:
+            case 0x000004c1u:
             {
                 if (name == BuiltInName::abs)
                 {
@@ -52355,7 +52330,7 @@
                 }
                 break;
             }
-            case 0x000004e8u:
+            case 0x000004ebu:
             {
                 if (name == BuiltInName::greaterThan)
                 {
@@ -52363,7 +52338,7 @@
                 }
                 break;
             }
-            case 0x00000511u:
+            case 0x00000514u:
             {
                 if (name == BuiltInName::reflect)
                 {
@@ -52371,7 +52346,7 @@
                 }
                 break;
             }
-            case 0x00000553u:
+            case 0x00000556u:
             {
                 if (name == BuiltInName::smoothstep)
                 {
@@ -52379,7 +52354,7 @@
                 }
                 break;
             }
-            case 0x00000559u:
+            case 0x0000055cu:
             {
                 if (name == BuiltInName::clamp)
                 {
@@ -52387,7 +52362,7 @@
                 }
                 break;
             }
-            case 0x00000593u:
+            case 0x00000595u:
             {
                 if (name == BuiltInName::sign)
                 {
@@ -52395,7 +52370,7 @@
                 }
                 break;
             }
-            case 0x000005c4u:
+            case 0x000005c6u:
             {
                 if (name == BuiltInName::exp)
                 {
@@ -52403,7 +52378,7 @@
                 }
                 break;
             }
-            case 0x000005d8u:
+            case 0x000005dau:
             {
                 if (name == BuiltInName::distance)
                 {
@@ -52411,7 +52386,7 @@
                 }
                 break;
             }
-            case 0x0000068fu:
+            case 0x00000691u:
             {
                 if (name == BuiltInName::step)
                 {
@@ -52419,7 +52394,7 @@
                 }
                 break;
             }
-            case 0x0000075cu:
+            case 0x0000075du:
             {
                 if (name == BuiltInName::tan)
                 {
@@ -52427,7 +52402,7 @@
                 }
                 break;
             }
-            case 0x0000076au:
+            case 0x0000076bu:
             {
                 if (name == BuiltInName::sin)
                 {
@@ -52435,7 +52410,7 @@
                 }
                 break;
             }
-            case 0x00000789u:
+            case 0x0000078au:
             {
                 if (name == BuiltInName::degrees)
                 {
@@ -52443,7 +52418,7 @@
                 }
                 break;
             }
-            case 0x00000794u:
+            case 0x00000795u:
             {
                 if (name == BuiltInName::radians)
                 {
@@ -52451,7 +52426,7 @@
                 }
                 break;
             }
-            case 0x000007b3u:
+            case 0x000007b4u:
             {
                 if (name == BuiltInName::lessThanEqual)
                 {
@@ -52459,7 +52434,7 @@
                 }
                 break;
             }
-            case 0x000007bdu:
+            case 0x000007beu:
             {
                 if (name == BuiltInName::length)
                 {
@@ -52467,7 +52442,7 @@
                 }
                 break;
             }
-            case 0x000007eau:
+            case 0x000007ebu:
             {
                 if (name == BuiltInName::min)
                 {
@@ -52475,7 +52450,7 @@
                 }
                 break;
             }
-            case 0x000007f0u:
+            case 0x000007f1u:
             {
                 if (name == BuiltInName::mix)
                 {
@@ -52483,7 +52458,7 @@
                 }
                 break;
             }
-            case 0x000007ffu:
+            case 0x00000800u:
             {
                 if (name == BuiltInName::refract)
                 {
@@ -52491,7 +52466,7 @@
                 }
                 break;
             }
-            case 0x0000084eu:
+            case 0x0000084fu:
             {
                 if (name == BuiltInName::equal)
                 {
@@ -52571,7 +52546,7 @@
                     }
                     break;
                 }
-                case 0x00000458u:
+                case 0x0000045bu:
                 {
                     if (name == BuiltInName::atomicCounterSubtract)
                     {
@@ -52579,7 +52554,7 @@
                     }
                     break;
                 }
-                case 0x0000049au:
+                case 0x0000049du:
                 {
                     if (name == BuiltInName::allInvocationsEqual)
                     {
@@ -52587,7 +52562,7 @@
                     }
                     break;
                 }
-                case 0x000005bcu:
+                case 0x000005beu:
                 {
                     if (name == BuiltInName::atomicCounterExchange)
                     {
@@ -52595,7 +52570,7 @@
                     }
                     break;
                 }
-                case 0x000006c4u:
+                case 0x000006c6u:
                 {
                     if (name == BuiltInName::atomicCounterMin)
                     {
@@ -52603,7 +52578,7 @@
                     }
                     break;
                 }
-                case 0x00000731u:
+                case 0x00000732u:
                 {
                     if (name == BuiltInName::anyInvocation)
                     {
@@ -52611,7 +52586,7 @@
                     }
                     break;
                 }
-                case 0x00000764u:
+                case 0x00000765u:
                 {
                     if (name == BuiltInName::atomicCounterCompSwap)
                     {
@@ -52619,7 +52594,7 @@
                     }
                     break;
                 }
-                case 0x00000768u:
+                case 0x00000769u:
                 {
                     if (name == BuiltInName::atomicCounterAdd)
                     {
@@ -52627,7 +52602,7 @@
                     }
                     break;
                 }
-                case 0x0000082eu:
+                case 0x0000082fu:
                 {
                     if (name == BuiltInName::atomicCounterOr)
                     {
@@ -52635,7 +52610,7 @@
                     }
                     break;
                 }
-                case 0x0000083eu:
+                case 0x0000083fu:
                 {
                     if (name == BuiltInName::subpassLoad)
                     {
@@ -52673,7 +52648,7 @@
                     }
                     break;
                 }
-                case 0x000007f0u:
+                case 0x000007f1u:
                 {
                     if (name == BuiltInName::mix)
                     {
@@ -52710,7 +52685,7 @@
                         }
                         break;
                     }
-                    case 0x000004dfu:
+                    case 0x000004e2u:
                     {
                         if (name == BuiltInName::dFdyFine)
                         {
@@ -52718,7 +52693,7 @@
                         }
                         break;
                     }
-                    case 0x0000067cu:
+                    case 0x0000067eu:
                     {
                         if (name == BuiltInName::fwidthFine)
                         {
@@ -52726,7 +52701,7 @@
                         }
                         break;
                     }
-                    case 0x000006bfu:
+                    case 0x000006c1u:
                     {
                         if (name == BuiltInName::dFdxCoarse)
                         {
@@ -52749,6 +52724,14 @@
         {
             switch (nameHash)
             {
+                case 0x000000b5u:
+                {
+                    if (name == BuiltInName::textureOffset)
+                    {
+                        return &UnmangledBuiltIns::UNDEFINED;
+                    }
+                    break;
+                }
                 case 0x00000158u:
                 {
                     if (name == BuiltInName::memoryBarrierImage)
@@ -52773,7 +52756,7 @@
                     }
                     break;
                 }
-                case 0x0000041bu:
+                case 0x0000041du:
                 {
                     if (name == BuiltInName::textureQueryLevels)
                     {
@@ -52781,15 +52764,7 @@
                     }
                     break;
                 }
-                case 0x0000058fu:
-                {
-                    if (name == BuiltInName::textureOffset)
-                    {
-                        return &UnmangledBuiltIns::UNDEFINED;
-                    }
-                    break;
-                }
-                case 0x000005a0u:
+                case 0x000005a2u:
                 {
                     if (name == BuiltInName::memoryBarrierBuffer)
                     {
@@ -52797,7 +52772,7 @@
                     }
                     break;
                 }
-                case 0x000006c7u:
+                case 0x000006c9u:
                 {
                     if (name == BuiltInName::atomicAdd)
                     {
@@ -52805,7 +52780,7 @@
                     }
                     break;
                 }
-                case 0x00000775u:
+                case 0x00000776u:
                 {
                     if (name == BuiltInName::atomicMin)
                     {
@@ -52813,7 +52788,7 @@
                     }
                     break;
                 }
-                case 0x000007cfu:
+                case 0x000007d0u:
                 {
                     if (name == BuiltInName::atomicCompSwap)
                     {
@@ -52821,7 +52796,7 @@
                     }
                     break;
                 }
-                case 0x000007e5u:
+                case 0x000007e6u:
                 {
                     if (name == BuiltInName::atomicXor)
                     {
@@ -52829,7 +52804,7 @@
                     }
                     break;
                 }
-                case 0x0000081eu:
+                case 0x0000081fu:
                 {
                     if (name == BuiltInName::memoryBarrierAtomicCounter)
                     {
@@ -52866,7 +52841,7 @@
             {
                 switch (nameHash)
                 {
-                    case 0x000007a4u:
+                    case 0x000007a5u:
                     {
                         if (name == BuiltInName::memoryBarrierShared)
                         {
@@ -52874,7 +52849,7 @@
                         }
                         break;
                     }
-                    case 0x000007f8u:
+                    case 0x000007f9u:
                     {
                         if (name == BuiltInName::groupMemoryBarrier)
                         {
@@ -52945,7 +52920,7 @@
                     }
                     break;
                 }
-                case 0x000003dfu:
+                case 0x000003e1u:
                 {
                     if (name == BuiltInName::packSnorm2x16)
                     {
@@ -52953,7 +52928,7 @@
                     }
                     break;
                 }
-                case 0x00000464u:
+                case 0x00000467u:
                 {
                     if (name == BuiltInName::memoryBarrier)
                     {
@@ -52961,7 +52936,7 @@
                     }
                     break;
                 }
-                case 0x0000046bu:
+                case 0x0000046eu:
                 {
                     if (name == BuiltInName::atomicCounter)
                     {
@@ -52969,7 +52944,7 @@
                     }
                     break;
                 }
-                case 0x00000572u:
+                case 0x00000575u:
                 {
                     if (name == BuiltInName::unpackSnorm2x16)
                     {
@@ -52977,7 +52952,7 @@
                     }
                     break;
                 }
-                case 0x00000588u:
+                case 0x0000058bu:
                 {
                     if (name == BuiltInName::imageAtomicOr)
                     {
@@ -52985,7 +52960,7 @@
                     }
                     break;
                 }
-                case 0x00000609u:
+                case 0x0000060bu:
                 {
                     if (name == BuiltInName::imageStore)
                     {
@@ -52993,7 +52968,7 @@
                     }
                     break;
                 }
-                case 0x000006e2u:
+                case 0x000006e4u:
                 {
                     if (name == BuiltInName::imageAtomicMax)
                     {
@@ -53001,7 +52976,7 @@
                     }
                     break;
                 }
-                case 0x00000779u:
+                case 0x0000077au:
                 {
                     if (name == BuiltInName::imageAtomicCompSwap)
                     {
@@ -53009,7 +52984,7 @@
                     }
                     break;
                 }
-                case 0x000007feu:
+                case 0x000007ffu:
                 {
                     if (name == BuiltInName::packHalf2x16)
                     {
@@ -53017,7 +52992,7 @@
                     }
                     break;
                 }
-                case 0x00000838u:
+                case 0x00000839u:
                 {
                     if (name == BuiltInName::imageLoad)
                     {
@@ -53167,7 +53142,7 @@
                     }
                     break;
                 }
-                case 0x00000370u:
+                case 0x00000371u:
                 {
                     if (name == BuiltInName::texture)
                     {
@@ -53175,7 +53150,7 @@
                     }
                     break;
                 }
-                case 0x00000372u:
+                case 0x00000373u:
                 {
                     if (name == BuiltInName::frexp)
                     {
@@ -53183,7 +53158,7 @@
                     }
                     break;
                 }
-                case 0x000003b4u:
+                case 0x000003b6u:
                 {
                     if (name == BuiltInName::packUnorm4x8)
                     {
@@ -53191,7 +53166,7 @@
                     }
                     break;
                 }
-                case 0x00000410u:
+                case 0x00000412u:
                 {
                     if (name == BuiltInName::mod)
                     {
@@ -53199,7 +53174,7 @@
                     }
                     break;
                 }
-                case 0x0000041fu:
+                case 0x00000421u:
                 {
                     if (name == BuiltInName::unpackDouble2x32)
                     {
@@ -53207,7 +53182,7 @@
                     }
                     break;
                 }
-                case 0x00000430u:
+                case 0x00000432u:
                 {
                     if (name == BuiltInName::textureGrad)
                     {
@@ -53215,7 +53190,7 @@
                     }
                     break;
                 }
-                case 0x0000046fu:
+                case 0x00000472u:
                 {
                     if (name == BuiltInName::bitfieldExtract)
                     {
@@ -53223,7 +53198,7 @@
                     }
                     break;
                 }
-                case 0x000004b8u:
+                case 0x000004bbu:
                 {
                     if (name == BuiltInName::uaddCarry)
                     {
@@ -53231,7 +53206,7 @@
                     }
                     break;
                 }
-                case 0x000004beu:
+                case 0x000004c1u:
                 {
                     if (name == BuiltInName::abs)
                     {
@@ -53239,7 +53214,7 @@
                     }
                     break;
                 }
-                case 0x000004cau:
+                case 0x000004cdu:
                 {
                     if (name == BuiltInName::trunc)
                     {
@@ -53247,7 +53222,7 @@
                     }
                     break;
                 }
-                case 0x000004d3u:
+                case 0x000004d6u:
                 {
                     if (name == BuiltInName::unpackUnorm4x8)
                     {
@@ -53255,7 +53230,7 @@
                     }
                     break;
                 }
-                case 0x000004e5u:
+                case 0x000004e8u:
                 {
                     if (name == BuiltInName::textureGatherOffsets)
                     {
@@ -53263,7 +53238,7 @@
                     }
                     break;
                 }
-                case 0x00000511u:
+                case 0x00000514u:
                 {
                     if (name == BuiltInName::reflect)
                     {
@@ -53271,7 +53246,7 @@
                     }
                     break;
                 }
-                case 0x00000553u:
+                case 0x00000556u:
                 {
                     if (name == BuiltInName::smoothstep)
                     {
@@ -53279,7 +53254,7 @@
                     }
                     break;
                 }
-                case 0x00000559u:
+                case 0x0000055cu:
                 {
                     if (name == BuiltInName::clamp)
                     {
@@ -53287,7 +53262,7 @@
                     }
                     break;
                 }
-                case 0x00000565u:
+                case 0x00000568u:
                 {
                     if (name == BuiltInName::bitfieldReverse)
                     {
@@ -53295,7 +53270,7 @@
                     }
                     break;
                 }
-                case 0x00000567u:
+                case 0x0000056au:
                 {
                     if (name == BuiltInName::textureLod)
                     {
@@ -53303,7 +53278,7 @@
                     }
                     break;
                 }
-                case 0x00000593u:
+                case 0x00000595u:
                 {
                     if (name == BuiltInName::sign)
                     {
@@ -53311,7 +53286,7 @@
                     }
                     break;
                 }
-                case 0x000005d7u:
+                case 0x000005d9u:
                 {
                     if (name == BuiltInName::roundEven)
                     {
@@ -53319,7 +53294,7 @@
                     }
                     break;
                 }
-                case 0x000005d8u:
+                case 0x000005dau:
                 {
                     if (name == BuiltInName::distance)
                     {
@@ -53327,7 +53302,7 @@
                     }
                     break;
                 }
-                case 0x000005e4u:
+                case 0x000005e6u:
                 {
                     if (name == BuiltInName::findMSB)
                     {
@@ -53335,7 +53310,7 @@
                     }
                     break;
                 }
-                case 0x00000678u:
+                case 0x0000067au:
                 {
                     if (name == BuiltInName::unpackSnorm4x8)
                     {
@@ -53343,7 +53318,7 @@
                     }
                     break;
                 }
-                case 0x0000068fu:
+                case 0x00000691u:
                 {
                     if (name == BuiltInName::step)
                     {
@@ -53351,7 +53326,7 @@
                     }
                     break;
                 }
-                case 0x000006a7u:
+                case 0x000006a9u:
                 {
                     if (name == BuiltInName::bitCount)
                     {
@@ -53359,7 +53334,7 @@
                     }
                     break;
                 }
-                case 0x000006bbu:
+                case 0x000006bdu:
                 {
                     if (name == BuiltInName::isinf)
                     {
@@ -53367,7 +53342,7 @@
                     }
                     break;
                 }
-                case 0x000006fau:
+                case 0x000006fbu:
                 {
                     if (name == BuiltInName::findLSB)
                     {
@@ -53375,7 +53350,7 @@
                     }
                     break;
                 }
-                case 0x00000797u:
+                case 0x00000798u:
                 {
                     if (name == BuiltInName::modf)
                     {
@@ -53383,7 +53358,7 @@
                     }
                     break;
                 }
-                case 0x000007a0u:
+                case 0x000007a1u:
                 {
                     if (name == BuiltInName::textureGatherOffset)
                     {
@@ -53391,7 +53366,7 @@
                     }
                     break;
                 }
-                case 0x000007bdu:
+                case 0x000007beu:
                 {
                     if (name == BuiltInName::length)
                     {
@@ -53399,7 +53374,7 @@
                     }
                     break;
                 }
-                case 0x000007beu:
+                case 0x000007bfu:
                 {
                     if (name == BuiltInName::textureSize)
                     {
@@ -53407,7 +53382,7 @@
                     }
                     break;
                 }
-                case 0x000007eau:
+                case 0x000007ebu:
                 {
                     if (name == BuiltInName::min)
                     {
@@ -53415,7 +53390,7 @@
                     }
                     break;
                 }
-                case 0x000007f0u:
+                case 0x000007f1u:
                 {
                     if (name == BuiltInName::mix)
                     {
@@ -53423,7 +53398,7 @@
                     }
                     break;
                 }
-                case 0x000007fbu:
+                case 0x000007fcu:
                 {
                     if (name == BuiltInName::umulExtended)
                     {
@@ -53431,7 +53406,7 @@
                     }
                     break;
                 }
-                case 0x000007ffu:
+                case 0x00000800u:
                 {
                     if (name == BuiltInName::refract)
                     {
@@ -53439,7 +53414,7 @@
                     }
                     break;
                 }
-                case 0x00000839u:
+                case 0x0000083au:
                 {
                     if (name == BuiltInName::isnan)
                     {
@@ -53500,7 +53475,7 @@
                         }
                         break;
                     }
-                    case 0x000004ccu:
+                    case 0x000004cfu:
                     {
                         if (name == BuiltInName::interpolateAtSample)
                         {
@@ -53508,7 +53483,7 @@
                         }
                         break;
                     }
-                    case 0x000005e7u:
+                    case 0x000005e9u:
                     {
                         if (name == BuiltInName::interpolateAtOffset)
                         {
@@ -53516,7 +53491,7 @@
                         }
                         break;
                     }
-                    case 0x000006e3u:
+                    case 0x000006e5u:
                     {
                         if (name == BuiltInName::interpolateAtCentroid)
                         {
@@ -53552,7 +53527,7 @@
                         }
                         break;
                     }
-                    case 0x00000616u:
+                    case 0x00000618u:
                     {
                         if (name == BuiltInName::EndStreamPrimitive)
                         {
@@ -53567,7 +53542,7 @@
         {
             switch (nameHash)
             {
-                case 0x00000629u:
+                case 0x0000062bu:
                 {
                     if (name == BuiltInName::intBitsToFloat)
                     {
@@ -53575,7 +53550,7 @@
                     }
                     break;
                 }
-                case 0x00000671u:
+                case 0x00000673u:
                 {
                     if (name == BuiltInName::floatBitsToInt)
                     {
@@ -53583,7 +53558,7 @@
                     }
                     break;
                 }
-                case 0x000007c0u:
+                case 0x000007c1u:
                 {
                     if (name == BuiltInName::uintBitsToFloat)
                     {
@@ -53591,7 +53566,7 @@
                     }
                     break;
                 }
-                case 0x000007c3u:
+                case 0x000007c4u:
                 {
                     if (name == BuiltInName::floatBitsToUint)
                     {
@@ -53605,7 +53580,7 @@
         {
             switch (nameHash)
             {
-                case 0x00000517u:
+                case 0x0000051au:
                 {
                     if (name == BuiltInName::texelFetch)
                     {
@@ -53613,7 +53588,7 @@
                     }
                     break;
                 }
-                case 0x000007beu:
+                case 0x000007bfu:
                 {
                     if (name == BuiltInName::textureSize)
                     {
@@ -53634,7 +53609,7 @@
                         }
                         break;
                     }
-                    case 0x000006ccu:
+                    case 0x000006ceu:
                     {
                         if (name == BuiltInName::EndPrimitive)
                         {
@@ -53649,6 +53624,14 @@
         {
             switch (nameHash)
             {
+                case 0x000000b5u:
+                {
+                    if (name == BuiltInName::textureOffset)
+                    {
+                        return &UnmangledBuiltIns::UNDEFINED;
+                    }
+                    break;
+                }
                 case 0x00000122u:
                 {
                     if (name == BuiltInName::textureProj)
@@ -53673,7 +53656,7 @@
                     }
                     break;
                 }
-                case 0x00000370u:
+                case 0x00000371u:
                 {
                     if (name == BuiltInName::texture)
                     {
@@ -53681,7 +53664,7 @@
                     }
                     break;
                 }
-                case 0x00000430u:
+                case 0x00000432u:
                 {
                     if (name == BuiltInName::textureGrad)
                     {
@@ -53689,7 +53672,7 @@
                     }
                     break;
                 }
-                case 0x000004c9u:
+                case 0x000004ccu:
                 {
                     if (name == BuiltInName::textureProjOffset)
                     {
@@ -53697,7 +53680,7 @@
                     }
                     break;
                 }
-                case 0x00000517u:
+                case 0x0000051au:
                 {
                     if (name == BuiltInName::texelFetch)
                     {
@@ -53705,15 +53688,7 @@
                     }
                     break;
                 }
-                case 0x0000058fu:
-                {
-                    if (name == BuiltInName::textureOffset)
-                    {
-                        return &UnmangledBuiltIns::UNDEFINED;
-                    }
-                    break;
-                }
-                case 0x000006dfu:
+                case 0x000006e1u:
                 {
                     if (name == BuiltInName::textureGradOffset)
                     {
@@ -53721,7 +53696,7 @@
                     }
                     break;
                 }
-                case 0x00000710u:
+                case 0x00000711u:
                 {
                     if (name == BuiltInName::textureProjGrad)
                     {
@@ -53729,7 +53704,7 @@
                     }
                     break;
                 }
-                case 0x000007beu:
+                case 0x000007bfu:
                 {
                     if (name == BuiltInName::textureSize)
                     {
@@ -53751,6 +53726,14 @@
         {
             switch (nameHash)
             {
+                case 0x000000b5u:
+                {
+                    if (name == BuiltInName::textureOffset)
+                    {
+                        return &UnmangledBuiltIns::UNDEFINED;
+                    }
+                    break;
+                }
                 case 0x00000122u:
                 {
                     if (name == BuiltInName::textureProj)
@@ -53823,7 +53806,7 @@
                     }
                     break;
                 }
-                case 0x00000370u:
+                case 0x00000371u:
                 {
                     if (name == BuiltInName::texture)
                     {
@@ -53831,7 +53814,7 @@
                     }
                     break;
                 }
-                case 0x000003a4u:
+                case 0x000003a5u:
                 {
                     if (name == BuiltInName::textureLodOffset)
                     {
@@ -53839,7 +53822,7 @@
                     }
                     break;
                 }
-                case 0x00000430u:
+                case 0x00000432u:
                 {
                     if (name == BuiltInName::textureGrad)
                     {
@@ -53847,7 +53830,7 @@
                     }
                     break;
                 }
-                case 0x0000049cu:
+                case 0x0000049fu:
                 {
                     if (name == BuiltInName::acosh)
                     {
@@ -53855,7 +53838,7 @@
                     }
                     break;
                 }
-                case 0x000004beu:
+                case 0x000004c1u:
                 {
                     if (name == BuiltInName::abs)
                     {
@@ -53863,7 +53846,7 @@
                     }
                     break;
                 }
-                case 0x000004c9u:
+                case 0x000004ccu:
                 {
                     if (name == BuiltInName::textureProjOffset)
                     {
@@ -53871,7 +53854,7 @@
                     }
                     break;
                 }
-                case 0x000004cau:
+                case 0x000004cdu:
                 {
                     if (name == BuiltInName::trunc)
                     {
@@ -53879,7 +53862,7 @@
                     }
                     break;
                 }
-                case 0x000004e8u:
+                case 0x000004ebu:
                 {
                     if (name == BuiltInName::greaterThan)
                     {
@@ -53887,7 +53870,7 @@
                     }
                     break;
                 }
-                case 0x00000506u:
+                case 0x00000509u:
                 {
                     if (name == BuiltInName::atanh)
                     {
@@ -53895,7 +53878,7 @@
                     }
                     break;
                 }
-                case 0x00000517u:
+                case 0x0000051au:
                 {
                     if (name == BuiltInName::texelFetch)
                     {
@@ -53903,7 +53886,7 @@
                     }
                     break;
                 }
-                case 0x00000559u:
+                case 0x0000055cu:
                 {
                     if (name == BuiltInName::clamp)
                     {
@@ -53911,7 +53894,7 @@
                     }
                     break;
                 }
-                case 0x00000567u:
+                case 0x0000056au:
                 {
                     if (name == BuiltInName::textureLod)
                     {
@@ -53919,15 +53902,7 @@
                     }
                     break;
                 }
-                case 0x0000058fu:
-                {
-                    if (name == BuiltInName::textureOffset)
-                    {
-                        return &UnmangledBuiltIns::UNDEFINED;
-                    }
-                    break;
-                }
-                case 0x00000593u:
+                case 0x00000595u:
                 {
                     if (name == BuiltInName::sign)
                     {
@@ -53935,7 +53910,7 @@
                     }
                     break;
                 }
-                case 0x000005d7u:
+                case 0x000005d9u:
                 {
                     if (name == BuiltInName::roundEven)
                     {
@@ -53943,7 +53918,7 @@
                     }
                     break;
                 }
-                case 0x00000617u:
+                case 0x00000619u:
                 {
                     if (name == BuiltInName::asinh)
                     {
@@ -53951,7 +53926,7 @@
                     }
                     break;
                 }
-                case 0x000006bbu:
+                case 0x000006bdu:
                 {
                     if (name == BuiltInName::isinf)
                     {
@@ -53959,7 +53934,7 @@
                     }
                     break;
                 }
-                case 0x000006dfu:
+                case 0x000006e1u:
                 {
                     if (name == BuiltInName::textureGradOffset)
                     {
@@ -53967,7 +53942,7 @@
                     }
                     break;
                 }
-                case 0x00000710u:
+                case 0x00000711u:
                 {
                     if (name == BuiltInName::textureProjGrad)
                     {
@@ -53975,7 +53950,7 @@
                     }
                     break;
                 }
-                case 0x0000072au:
+                case 0x0000072bu:
                 {
                     if (name == BuiltInName::sinh)
                     {
@@ -53983,7 +53958,7 @@
                     }
                     break;
                 }
-                case 0x00000797u:
+                case 0x00000798u:
                 {
                     if (name == BuiltInName::modf)
                     {
@@ -53991,7 +53966,7 @@
                     }
                     break;
                 }
-                case 0x000007b3u:
+                case 0x000007b4u:
                 {
                     if (name == BuiltInName::lessThanEqual)
                     {
@@ -53999,7 +53974,7 @@
                     }
                     break;
                 }
-                case 0x000007beu:
+                case 0x000007bfu:
                 {
                     if (name == BuiltInName::textureSize)
                     {
@@ -54007,7 +53982,7 @@
                     }
                     break;
                 }
-                case 0x000007eau:
+                case 0x000007ebu:
                 {
                     if (name == BuiltInName::min)
                     {
@@ -54015,7 +53990,7 @@
                     }
                     break;
                 }
-                case 0x000007f0u:
+                case 0x000007f1u:
                 {
                     if (name == BuiltInName::mix)
                     {
@@ -54023,7 +53998,7 @@
                     }
                     break;
                 }
-                case 0x00000839u:
+                case 0x0000083au:
                 {
                     if (name == BuiltInName::isnan)
                     {
@@ -54031,7 +54006,7 @@
                     }
                     break;
                 }
-                case 0x0000084eu:
+                case 0x0000084fu:
                 {
                     if (name == BuiltInName::equal)
                     {
@@ -54069,7 +54044,7 @@
         {
             switch (nameHash)
             {
-                case 0x0000051au:
+                case 0x0000051du:
                 {
                     if (name == BuiltInName::outerProduct)
                     {
@@ -54077,7 +54052,7 @@
                     }
                     break;
                 }
-                case 0x00000845u:
+                case 0x00000846u:
                 {
                     if (name == BuiltInName::transpose)
                     {
@@ -54233,7 +54208,7 @@
                 }
                 break;
             }
-            case 0x0000034bu:
+            case 0x0000034cu:
             {
                 if (name == BuiltInName::any)
                 {
@@ -54241,7 +54216,7 @@
                 }
                 break;
             }
-            case 0x00000387u:
+            case 0x00000388u:
             {
                 if (name == BuiltInName::texture2DProj)
                 {
@@ -54249,7 +54224,7 @@
                 }
                 break;
             }
-            case 0x0000038du:
+            case 0x0000038eu:
             {
                 if (name == BuiltInName::texture1DProj)
                 {
@@ -54257,7 +54232,7 @@
                 }
                 break;
             }
-            case 0x000003a2u:
+            case 0x000003a3u:
             {
                 if (name == BuiltInName::pow)
                 {
@@ -54265,7 +54240,7 @@
                 }
                 break;
             }
-            case 0x00000410u:
+            case 0x00000412u:
             {
                 if (name == BuiltInName::mod)
                 {
@@ -54273,7 +54248,7 @@
                 }
                 break;
             }
-            case 0x0000044eu:
+            case 0x00000451u:
             {
                 if (name == BuiltInName::log)
                 {
@@ -54281,7 +54256,7 @@
                 }
                 break;
             }
-            case 0x00000496u:
+            case 0x00000499u:
             {
                 if (name == BuiltInName::all)
                 {
@@ -54289,7 +54264,7 @@
                 }
                 break;
             }
-            case 0x000004beu:
+            case 0x000004c1u:
             {
                 if (name == BuiltInName::abs)
                 {
@@ -54297,7 +54272,7 @@
                 }
                 break;
             }
-            case 0x000004e8u:
+            case 0x000004ebu:
             {
                 if (name == BuiltInName::greaterThan)
                 {
@@ -54305,7 +54280,7 @@
                 }
                 break;
             }
-            case 0x00000511u:
+            case 0x00000514u:
             {
                 if (name == BuiltInName::reflect)
                 {
@@ -54313,7 +54288,7 @@
                 }
                 break;
             }
-            case 0x00000553u:
+            case 0x00000556u:
             {
                 if (name == BuiltInName::smoothstep)
                 {
@@ -54321,7 +54296,7 @@
                 }
                 break;
             }
-            case 0x00000559u:
+            case 0x0000055cu:
             {
                 if (name == BuiltInName::clamp)
                 {
@@ -54329,7 +54304,7 @@
                 }
                 break;
             }
-            case 0x00000593u:
+            case 0x00000595u:
             {
                 if (name == BuiltInName::sign)
                 {
@@ -54337,7 +54312,7 @@
                 }
                 break;
             }
-            case 0x000005bau:
+            case 0x000005bcu:
             {
                 if (name == BuiltInName::texture3D)
                 {
@@ -54345,7 +54320,7 @@
                 }
                 break;
             }
-            case 0x000005c4u:
+            case 0x000005c6u:
             {
                 if (name == BuiltInName::exp)
                 {
@@ -54353,7 +54328,7 @@
                 }
                 break;
             }
-            case 0x000005d8u:
+            case 0x000005dau:
             {
                 if (name == BuiltInName::distance)
                 {
@@ -54361,7 +54336,7 @@
                 }
                 break;
             }
-            case 0x00000630u:
+            case 0x00000632u:
             {
                 if (name == BuiltInName::texture2D)
                 {
@@ -54369,7 +54344,7 @@
                 }
                 break;
             }
-            case 0x0000063eu:
+            case 0x00000640u:
             {
                 if (name == BuiltInName::shadow1DProj)
                 {
@@ -54377,7 +54352,7 @@
                 }
                 break;
             }
-            case 0x0000068fu:
+            case 0x00000691u:
             {
                 if (name == BuiltInName::step)
                 {
@@ -54385,7 +54360,7 @@
                 }
                 break;
             }
-            case 0x00000708u:
+            case 0x00000709u:
             {
                 if (name == BuiltInName::texture1D)
                 {
@@ -54393,7 +54368,7 @@
                 }
                 break;
             }
-            case 0x00000722u:
+            case 0x00000723u:
             {
                 if (name == BuiltInName::shadow2DProj)
                 {
@@ -54401,7 +54376,7 @@
                 }
                 break;
             }
-            case 0x0000075cu:
+            case 0x0000075du:
             {
                 if (name == BuiltInName::tan)
                 {
@@ -54409,7 +54384,7 @@
                 }
                 break;
             }
-            case 0x0000076au:
+            case 0x0000076bu:
             {
                 if (name == BuiltInName::sin)
                 {
@@ -54417,7 +54392,7 @@
                 }
                 break;
             }
-            case 0x0000076eu:
+            case 0x0000076fu:
             {
                 if (name == BuiltInName::noise4)
                 {
@@ -54425,7 +54400,7 @@
                 }
                 break;
             }
-            case 0x0000076fu:
+            case 0x00000770u:
             {
                 if (name == BuiltInName::shadow1D)
                 {
@@ -54433,7 +54408,7 @@
                 }
                 break;
             }
-            case 0x00000771u:
+            case 0x00000772u:
             {
                 if (name == BuiltInName::noise1)
                 {
@@ -54441,7 +54416,7 @@
                 }
                 break;
             }
-            case 0x00000772u:
+            case 0x00000773u:
             {
                 if (name == BuiltInName::noise2)
                 {
@@ -54449,7 +54424,7 @@
                 }
                 break;
             }
-            case 0x00000773u:
+            case 0x00000774u:
             {
                 if (name == BuiltInName::noise3)
                 {
@@ -54457,7 +54432,7 @@
                 }
                 break;
             }
-            case 0x00000789u:
+            case 0x0000078au:
             {
                 if (name == BuiltInName::degrees)
                 {
@@ -54465,7 +54440,7 @@
                 }
                 break;
             }
-            case 0x00000794u:
+            case 0x00000795u:
             {
                 if (name == BuiltInName::radians)
                 {
@@ -54473,7 +54448,7 @@
                 }
                 break;
             }
-            case 0x000007b3u:
+            case 0x000007b4u:
             {
                 if (name == BuiltInName::lessThanEqual)
                 {
@@ -54481,7 +54456,7 @@
                 }
                 break;
             }
-            case 0x000007bdu:
+            case 0x000007beu:
             {
                 if (name == BuiltInName::length)
                 {
@@ -54489,7 +54464,7 @@
                 }
                 break;
             }
-            case 0x000007eau:
+            case 0x000007ebu:
             {
                 if (name == BuiltInName::min)
                 {
@@ -54497,7 +54472,7 @@
                 }
                 break;
             }
-            case 0x000007f0u:
+            case 0x000007f1u:
             {
                 if (name == BuiltInName::mix)
                 {
@@ -54505,7 +54480,7 @@
                 }
                 break;
             }
-            case 0x000007f4u:
+            case 0x000007f5u:
             {
                 if (name == BuiltInName::shadow2D)
                 {
@@ -54513,7 +54488,7 @@
                 }
                 break;
             }
-            case 0x000007ffu:
+            case 0x00000800u:
             {
                 if (name == BuiltInName::refract)
                 {
@@ -54521,7 +54496,7 @@
                 }
                 break;
             }
-            case 0x0000084eu:
+            case 0x0000084fu:
             {
                 if (name == BuiltInName::equal)
                 {
@@ -54582,7 +54557,7 @@
                     }
                     break;
                 }
-                case 0x000003d0u:
+                case 0x000003d2u:
                 {
                     if (name == BuiltInName::shadow2DLod)
                     {
@@ -54590,7 +54565,7 @@
                     }
                     break;
                 }
-                case 0x00000495u:
+                case 0x00000498u:
                 {
                     if (name == BuiltInName::texture2DLod)
                     {
@@ -54598,7 +54573,7 @@
                     }
                     break;
                 }
-                case 0x00000509u:
+                case 0x0000050cu:
                 {
                     if (name == BuiltInName::textureCubeLod)
                     {
@@ -54606,7 +54581,7 @@
                     }
                     break;
                 }
-                case 0x00000624u:
+                case 0x00000626u:
                 {
                     if (name == BuiltInName::texture1DProjLod)
                     {
@@ -54614,7 +54589,7 @@
                     }
                     break;
                 }
-                case 0x00000628u:
+                case 0x0000062au:
                 {
                     if (name == BuiltInName::shadow2DProjLod)
                     {
@@ -54622,7 +54597,7 @@
                     }
                     break;
                 }
-                case 0x0000077cu:
+                case 0x0000077du:
                 {
                     if (name == BuiltInName::shadow1DProjLod)
                     {
@@ -54668,7 +54643,7 @@
                     }
                     break;
                 }
-                case 0x0000080fu:
+                case 0x00000810u:
                 {
                     if (name == BuiltInName::texture3DLod)
                     {
diff --git a/src/compiler/translator/builtin_variables.json b/src/compiler/translator/builtin_variables.json
index d6f70d0..d24b47b 100644
--- a/src/compiler/translator/builtin_variables.json
+++ b/src/compiler/translator/builtin_variables.json
@@ -679,21 +679,7 @@
                   "ESSL3":{
                         "variables":{
                             "gl_DrawID":{
-                                "level":"ESSL3_BUILTINS",
-                                "extension":"ANGLE_multi_draw",
-                                "type":{
-                                    "basic":"Int",
-                                    "precision":"High",
-                                    "qualifier":"DrawID"
-                                }
-                            }
-                        }
-                    },
-                    "ESSL1":{
-                        "variables":{
-                            "gl_DrawID":{
-                                "suffix":"ESSL1",
-                                "level":"ESSL1_BUILTINS",
+                                "level":"COMMON_BUILTINS",
                                 "extension":"ANGLE_multi_draw",
                                 "type":{
                                     "basic":"Int",
diff --git a/src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.cpp b/src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.cpp
index 8134ea7..8c0600b 100644
--- a/src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.cpp
+++ b/src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.cpp
@@ -42,8 +42,7 @@
   protected:
     void visitSymbol(TIntermSymbol *node) override
     {
-        if (&node->variable() == BuiltInVariable::gl_DrawID() ||
-            &node->variable() == BuiltInVariable::gl_DrawIDESSL1())
+        if (&node->variable() == BuiltInVariable::gl_DrawID())
         {
             mVariable = &node->variable();
         }
diff --git a/src/compiler/translator/tree_util/BuiltIn_autogen.h b/src/compiler/translator/tree_util/BuiltIn_autogen.h
index 2a6c643..2771ca9 100644
--- a/src/compiler/translator/tree_util/BuiltIn_autogen.h
+++ b/src/compiler/translator/tree_util/BuiltIn_autogen.h
@@ -3464,24 +3464,23 @@
     static constexpr const TSymbolUniqueId gl_ViewportIndex         = TSymbolUniqueId(2275);
     static constexpr const TSymbolUniqueId gl_LayerVS               = TSymbolUniqueId(2276);
     static constexpr const TSymbolUniqueId gl_DrawID                = TSymbolUniqueId(2277);
-    static constexpr const TSymbolUniqueId gl_DrawIDESSL1           = TSymbolUniqueId(2278);
-    static constexpr const TSymbolUniqueId gl_BaseVertex            = TSymbolUniqueId(2279);
-    static constexpr const TSymbolUniqueId gl_BaseInstance          = TSymbolUniqueId(2280);
-    static constexpr const TSymbolUniqueId gl_NumWorkGroups         = TSymbolUniqueId(2281);
-    static constexpr const TSymbolUniqueId gl_WorkGroupSize         = TSymbolUniqueId(2282);
-    static constexpr const TSymbolUniqueId gl_WorkGroupID           = TSymbolUniqueId(2283);
-    static constexpr const TSymbolUniqueId gl_LocalInvocationID     = TSymbolUniqueId(2284);
-    static constexpr const TSymbolUniqueId gl_GlobalInvocationID    = TSymbolUniqueId(2285);
-    static constexpr const TSymbolUniqueId gl_LocalInvocationIndex  = TSymbolUniqueId(2286);
-    static constexpr const TSymbolUniqueId gl_PrimitiveIDIn         = TSymbolUniqueId(2287);
-    static constexpr const TSymbolUniqueId gl_InvocationID          = TSymbolUniqueId(2288);
-    static constexpr const TSymbolUniqueId gl_PrimitiveIDGS         = TSymbolUniqueId(2289);
-    static constexpr const TSymbolUniqueId gl_LayerGS               = TSymbolUniqueId(2290);
-    static constexpr const TSymbolUniqueId gl_PerVertex             = TSymbolUniqueId(2291);
-    static constexpr const TSymbolUniqueId gl_in                    = TSymbolUniqueId(2292);
-    static constexpr const TSymbolUniqueId gl_PerVertexOutBlock     = TSymbolUniqueId(2293);
-    static constexpr const TSymbolUniqueId gl_PositionGS            = TSymbolUniqueId(2294);
-    static constexpr const TSymbolUniqueId gl_ViewID_OVR            = TSymbolUniqueId(2295);
+    static constexpr const TSymbolUniqueId gl_BaseVertex            = TSymbolUniqueId(2278);
+    static constexpr const TSymbolUniqueId gl_BaseInstance          = TSymbolUniqueId(2279);
+    static constexpr const TSymbolUniqueId gl_NumWorkGroups         = TSymbolUniqueId(2280);
+    static constexpr const TSymbolUniqueId gl_WorkGroupSize         = TSymbolUniqueId(2281);
+    static constexpr const TSymbolUniqueId gl_WorkGroupID           = TSymbolUniqueId(2282);
+    static constexpr const TSymbolUniqueId gl_LocalInvocationID     = TSymbolUniqueId(2283);
+    static constexpr const TSymbolUniqueId gl_GlobalInvocationID    = TSymbolUniqueId(2284);
+    static constexpr const TSymbolUniqueId gl_LocalInvocationIndex  = TSymbolUniqueId(2285);
+    static constexpr const TSymbolUniqueId gl_PrimitiveIDIn         = TSymbolUniqueId(2286);
+    static constexpr const TSymbolUniqueId gl_InvocationID          = TSymbolUniqueId(2287);
+    static constexpr const TSymbolUniqueId gl_PrimitiveIDGS         = TSymbolUniqueId(2288);
+    static constexpr const TSymbolUniqueId gl_LayerGS               = TSymbolUniqueId(2289);
+    static constexpr const TSymbolUniqueId gl_PerVertex             = TSymbolUniqueId(2290);
+    static constexpr const TSymbolUniqueId gl_in                    = TSymbolUniqueId(2291);
+    static constexpr const TSymbolUniqueId gl_PerVertexOutBlock     = TSymbolUniqueId(2292);
+    static constexpr const TSymbolUniqueId gl_PositionGS            = TSymbolUniqueId(2293);
+    static constexpr const TSymbolUniqueId gl_ViewID_OVR            = TSymbolUniqueId(2294);
 
 };  // class BuiltInId
 
@@ -3491,7 +3490,6 @@
 const TVariable *gl_BaseInstance();
 const TVariable *gl_BaseVertex();
 const TVariable *gl_DrawID();
-const TVariable *gl_DrawIDESSL1();
 const TVariable *gl_FragColor();
 const TVariable *gl_FragCoord();
 const TVariable *gl_FragDepth();
diff --git a/src/tests/compiler_tests/ImmutableString_test_ESSL_autogen.cpp b/src/tests/compiler_tests/ImmutableString_test_ESSL_autogen.cpp
new file mode 100644
index 0000000..c6dbbdf
--- /dev/null
+++ b/src/tests/compiler_tests/ImmutableString_test_ESSL_autogen.cpp
@@ -0,0 +1,1113 @@
+// GENERATED FILE - DO NOT EDIT.
+// Generated by gen_builtin_symbols_essl_only.py using data from builtin_function_declarations.txt.
+//
+// Copyright 2019 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+// ImmutableString_test_autogen.cpp:
+//   Tests for matching script-generated hashes with runtime computed hashes.
+
+#include "compiler/translator/ImmutableString.h"
+#include "gtest/gtest.h"
+
+namespace sh
+{
+
+TEST(ImmutableStringTest, ScriptGeneratedHashesMatch)
+{
+    ASSERT_EQ(0x0000026au, ImmutableString("radians(00B").mangledNameHash());
+    ASSERT_EQ(0x00000145u, ImmutableString("radians(10B").mangledNameHash());
+    ASSERT_EQ(0x00000107u, ImmutableString("radians(20B").mangledNameHash());
+    ASSERT_EQ(0x00000397u, ImmutableString("radians(30B").mangledNameHash());
+    ASSERT_EQ(0x000001d6u, ImmutableString("degrees(00B").mangledNameHash());
+    ASSERT_EQ(0x00000318u, ImmutableString("degrees(10B").mangledNameHash());
+    ASSERT_EQ(0x00000045u, ImmutableString("degrees(20B").mangledNameHash());
+    ASSERT_EQ(0x00000167u, ImmutableString("degrees(30B").mangledNameHash());
+    ASSERT_EQ(0x00000343u, ImmutableString("sin(00B").mangledNameHash());
+    ASSERT_EQ(0x00000201u, ImmutableString("sin(10B").mangledNameHash());
+    ASSERT_EQ(0x00000222u, ImmutableString("sin(20B").mangledNameHash());
+    ASSERT_EQ(0x0000010eu, ImmutableString("sin(30B").mangledNameHash());
+    ASSERT_EQ(0x0000020du, ImmutableString("cos(00B").mangledNameHash());
+    ASSERT_EQ(0x00000352u, ImmutableString("cos(10B").mangledNameHash());
+    ASSERT_EQ(0x00000395u, ImmutableString("cos(20B").mangledNameHash());
+    ASSERT_EQ(0x000002b1u, ImmutableString("cos(30B").mangledNameHash());
+    ASSERT_EQ(0x00000204u, ImmutableString("tan(00B").mangledNameHash());
+    ASSERT_EQ(0x00000349u, ImmutableString("tan(10B").mangledNameHash());
+    ASSERT_EQ(0x00000399u, ImmutableString("tan(20B").mangledNameHash());
+    ASSERT_EQ(0x000000f3u, ImmutableString("tan(30B").mangledNameHash());
+    ASSERT_EQ(0x0000022fu, ImmutableString("asin(00B").mangledNameHash());
+    ASSERT_EQ(0x00000374u, ImmutableString("asin(10B").mangledNameHash());
+    ASSERT_EQ(0x00000017u, ImmutableString("asin(20B").mangledNameHash());
+    ASSERT_EQ(0x00000135u, ImmutableString("asin(30B").mangledNameHash());
+    ASSERT_EQ(0x0000005fu, ImmutableString("acos(00B").mangledNameHash());
+    ASSERT_EQ(0x000002e4u, ImmutableString("acos(10B").mangledNameHash());
+    ASSERT_EQ(0x00000286u, ImmutableString("acos(20B").mangledNameHash());
+    ASSERT_EQ(0x00000165u, ImmutableString("acos(30B").mangledNameHash());
+    ASSERT_EQ(0x000001f0u, ImmutableString("atan(00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000030u, ImmutableString("atan(10B10B").mangledNameHash());
+    ASSERT_EQ(0x000001c5u, ImmutableString("atan(20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000130u, ImmutableString("atan(30B30B").mangledNameHash());
+    ASSERT_EQ(0x000001ddu, ImmutableString("atan(00B").mangledNameHash());
+    ASSERT_EQ(0x0000006fu, ImmutableString("atan(10B").mangledNameHash());
+    ASSERT_EQ(0x00000085u, ImmutableString("atan(20B").mangledNameHash());
+    ASSERT_EQ(0x0000031fu, ImmutableString("atan(30B").mangledNameHash());
+    ASSERT_EQ(0x00000288u, ImmutableString("sinh(00B").mangledNameHash());
+    ASSERT_EQ(0x0000031eu, ImmutableString("sinh(10B").mangledNameHash());
+    ASSERT_EQ(0x0000017cu, ImmutableString("sinh(20B").mangledNameHash());
+    ASSERT_EQ(0x000000ebu, ImmutableString("sinh(30B").mangledNameHash());
+    ASSERT_EQ(0x00000157u, ImmutableString("cosh(00B").mangledNameHash());
+    ASSERT_EQ(0x00000304u, ImmutableString("cosh(10B").mangledNameHash());
+    ASSERT_EQ(0x00000331u, ImmutableString("cosh(20B").mangledNameHash());
+    ASSERT_EQ(0x00000265u, ImmutableString("cosh(30B").mangledNameHash());
+    ASSERT_EQ(0x00000046u, ImmutableString("tanh(00B").mangledNameHash());
+    ASSERT_EQ(0x00000166u, ImmutableString("tanh(10B").mangledNameHash());
+    ASSERT_EQ(0x0000027au, ImmutableString("tanh(20B").mangledNameHash());
+    ASSERT_EQ(0x0000000cu, ImmutableString("tanh(30B").mangledNameHash());
+    ASSERT_EQ(0x0000025fu, ImmutableString("asinh(00B").mangledNameHash());
+    ASSERT_EQ(0x0000039du, ImmutableString("asinh(10B").mangledNameHash());
+    ASSERT_EQ(0x000000f0u, ImmutableString("asinh(20B").mangledNameHash());
+    ASSERT_EQ(0x00000208u, ImmutableString("asinh(30B").mangledNameHash());
+    ASSERT_EQ(0x00000179u, ImmutableString("acosh(00B").mangledNameHash());
+    ASSERT_EQ(0x000000aau, ImmutableString("acosh(10B").mangledNameHash());
+    ASSERT_EQ(0x0000001cu, ImmutableString("acosh(20B").mangledNameHash());
+    ASSERT_EQ(0x000002a1u, ImmutableString("acosh(30B").mangledNameHash());
+    ASSERT_EQ(0x00000081u, ImmutableString("atanh(00B").mangledNameHash());
+    ASSERT_EQ(0x0000001du, ImmutableString("atanh(10B").mangledNameHash());
+    ASSERT_EQ(0x000002c9u, ImmutableString("atanh(20B").mangledNameHash());
+    ASSERT_EQ(0x00000191u, ImmutableString("atanh(30B").mangledNameHash());
+    ASSERT_EQ(0x0000018bu, ImmutableString("pow(00B00B").mangledNameHash());
+    ASSERT_EQ(0x0000008cu, ImmutableString("pow(10B10B").mangledNameHash());
+    ASSERT_EQ(0x000002fcu, ImmutableString("pow(20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000215u, ImmutableString("pow(30B30B").mangledNameHash());
+    ASSERT_EQ(0x00000309u, ImmutableString("exp(00B").mangledNameHash());
+    ASSERT_EQ(0x00000076u, ImmutableString("exp(10B").mangledNameHash());
+    ASSERT_EQ(0x00000176u, ImmutableString("exp(20B").mangledNameHash());
+    ASSERT_EQ(0x00000293u, ImmutableString("exp(30B").mangledNameHash());
+    ASSERT_EQ(0x0000029au, ImmutableString("log(00B").mangledNameHash());
+    ASSERT_EQ(0x0000017au, ImmutableString("log(10B").mangledNameHash());
+    ASSERT_EQ(0x00000134u, ImmutableString("log(20B").mangledNameHash());
+    ASSERT_EQ(0x000000cbu, ImmutableString("log(30B").mangledNameHash());
+    ASSERT_EQ(0x00000396u, ImmutableString("exp2(00B").mangledNameHash());
+    ASSERT_EQ(0x000000f8u, ImmutableString("exp2(10B").mangledNameHash());
+    ASSERT_EQ(0x00000143u, ImmutableString("exp2(20B").mangledNameHash());
+    ASSERT_EQ(0x00000256u, ImmutableString("exp2(30B").mangledNameHash());
+    ASSERT_EQ(0x00000161u, ImmutableString("log2(00B").mangledNameHash());
+    ASSERT_EQ(0x00000089u, ImmutableString("log2(10B").mangledNameHash());
+    ASSERT_EQ(0x00000314u, ImmutableString("log2(20B").mangledNameHash());
+    ASSERT_EQ(0x000001b1u, ImmutableString("log2(30B").mangledNameHash());
+    ASSERT_EQ(0x000001d2u, ImmutableString("sqrt(00B").mangledNameHash());
+    ASSERT_EQ(0x000000b7u, ImmutableString("sqrt(10B").mangledNameHash());
+    ASSERT_EQ(0x0000007du, ImmutableString("sqrt(20B").mangledNameHash());
+    ASSERT_EQ(0x00000305u, ImmutableString("sqrt(30B").mangledNameHash());
+    ASSERT_EQ(0x0000004bu, ImmutableString("inversesqrt(00B").mangledNameHash());
+    ASSERT_EQ(0x000002e2u, ImmutableString("inversesqrt(10B").mangledNameHash());
+    ASSERT_EQ(0x0000023cu, ImmutableString("inversesqrt(20B").mangledNameHash());
+    ASSERT_EQ(0x0000016du, ImmutableString("inversesqrt(30B").mangledNameHash());
+    ASSERT_EQ(0x0000027eu, ImmutableString("abs(00B").mangledNameHash());
+    ASSERT_EQ(0x00000164u, ImmutableString("abs(10B").mangledNameHash());
+    ASSERT_EQ(0x0000004au, ImmutableString("abs(20B").mangledNameHash());
+    ASSERT_EQ(0x000002e8u, ImmutableString("abs(30B").mangledNameHash());
+    ASSERT_EQ(0x0000027du, ImmutableString("abs(00D").mangledNameHash());
+    ASSERT_EQ(0x00000163u, ImmutableString("abs(10D").mangledNameHash());
+    ASSERT_EQ(0x00000049u, ImmutableString("abs(20D").mangledNameHash());
+    ASSERT_EQ(0x000002e5u, ImmutableString("abs(30D").mangledNameHash());
+    ASSERT_EQ(0x00000299u, ImmutableString("sign(00B").mangledNameHash());
+    ASSERT_EQ(0x00000388u, ImmutableString("sign(10B").mangledNameHash());
+    ASSERT_EQ(0x0000007eu, ImmutableString("sign(20B").mangledNameHash());
+    ASSERT_EQ(0x00000189u, ImmutableString("sign(30B").mangledNameHash());
+    ASSERT_EQ(0x0000029cu, ImmutableString("sign(00D").mangledNameHash());
+    ASSERT_EQ(0x00000307u, ImmutableString("sign(10D").mangledNameHash());
+    ASSERT_EQ(0x00000080u, ImmutableString("sign(20D").mangledNameHash());
+    ASSERT_EQ(0x0000018au, ImmutableString("sign(30D").mangledNameHash());
+    ASSERT_EQ(0x0000039fu, ImmutableString("floor(00B").mangledNameHash());
+    ASSERT_EQ(0x00000200u, ImmutableString("floor(10B").mangledNameHash());
+    ASSERT_EQ(0x0000021cu, ImmutableString("floor(20B").mangledNameHash());
+    ASSERT_EQ(0x0000010fu, ImmutableString("floor(30B").mangledNameHash());
+    ASSERT_EQ(0x000000eau, ImmutableString("trunc(00B").mangledNameHash());
+    ASSERT_EQ(0x00000376u, ImmutableString("trunc(10B").mangledNameHash());
+    ASSERT_EQ(0x0000033fu, ImmutableString("trunc(20B").mangledNameHash());
+    ASSERT_EQ(0x000001f7u, ImmutableString("trunc(30B").mangledNameHash());
+    ASSERT_EQ(0x000000cfu, ImmutableString("round(00B").mangledNameHash());
+    ASSERT_EQ(0x0000035fu, ImmutableString("round(10B").mangledNameHash());
+    ASSERT_EQ(0x00000224u, ImmutableString("round(20B").mangledNameHash());
+    ASSERT_EQ(0x0000010bu, ImmutableString("round(30B").mangledNameHash());
+    ASSERT_EQ(0x000002c6u, ImmutableString("roundEven(00B").mangledNameHash());
+    ASSERT_EQ(0x0000018fu, ImmutableString("roundEven(10B").mangledNameHash());
+    ASSERT_EQ(0x0000013au, ImmutableString("roundEven(20B").mangledNameHash());
+    ASSERT_EQ(0x0000001bu, ImmutableString("roundEven(30B").mangledNameHash());
+    ASSERT_EQ(0x00000230u, ImmutableString("ceil(00B").mangledNameHash());
+    ASSERT_EQ(0x00000321u, ImmutableString("ceil(10B").mangledNameHash());
+    ASSERT_EQ(0x00000097u, ImmutableString("ceil(20B").mangledNameHash());
+    ASSERT_EQ(0x0000014au, ImmutableString("ceil(30B").mangledNameHash());
+    ASSERT_EQ(0x00000173u, ImmutableString("fract(00B").mangledNameHash());
+    ASSERT_EQ(0x00000060u, ImmutableString("fract(10B").mangledNameHash());
+    ASSERT_EQ(0x000002e7u, ImmutableString("fract(20B").mangledNameHash());
+    ASSERT_EQ(0x000001b4u, ImmutableString("fract(30B").mangledNameHash());
+    ASSERT_EQ(0x0000018cu, ImmutableString("mod(00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000153u, ImmutableString("mod(10B00B").mangledNameHash());
+    ASSERT_EQ(0x000000b2u, ImmutableString("mod(20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000019du, ImmutableString("mod(30B00B").mangledNameHash());
+    ASSERT_EQ(0x000002a8u, ImmutableString("mod(10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000205u, ImmutableString("mod(20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000187u, ImmutableString("mod(30B30B").mangledNameHash());
+    ASSERT_EQ(0x000001ceu, ImmutableString("min(00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000316u, ImmutableString("min(10B00B").mangledNameHash());
+    ASSERT_EQ(0x000000adu, ImmutableString("min(20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000071u, ImmutableString("min(30B00B").mangledNameHash());
+    ASSERT_EQ(0x0000008au, ImmutableString("min(10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000020eu, ImmutableString("min(20B20B").mangledNameHash());
+    ASSERT_EQ(0x0000005au, ImmutableString("min(30B30B").mangledNameHash());
+    ASSERT_EQ(0x0000033cu, ImmutableString("min(00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000044u, ImmutableString("min(10D10D").mangledNameHash());
+    ASSERT_EQ(0x0000026eu, ImmutableString("min(20D20D").mangledNameHash());
+    ASSERT_EQ(0x0000023eu, ImmutableString("min(30D30D").mangledNameHash());
+    ASSERT_EQ(0x000002c1u, ImmutableString("min(10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000038u, ImmutableString("min(20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000386u, ImmutableString("min(30D00D").mangledNameHash());
+    ASSERT_EQ(0x0000030au, ImmutableString("min(00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000358u, ImmutableString("min(10E10E").mangledNameHash());
+    ASSERT_EQ(0x00000016u, ImmutableString("min(20E20E").mangledNameHash());
+    ASSERT_EQ(0x000001cau, ImmutableString("min(30E30E").mangledNameHash());
+    ASSERT_EQ(0x000000cau, ImmutableString("min(10E00E").mangledNameHash());
+    ASSERT_EQ(0x000001d8u, ImmutableString("min(20E00E").mangledNameHash());
+    ASSERT_EQ(0x00000175u, ImmutableString("min(30E00E").mangledNameHash());
+    ASSERT_EQ(0x00000139u, ImmutableString("max(00B00B").mangledNameHash());
+    ASSERT_EQ(0x0000024fu, ImmutableString("max(10B00B").mangledNameHash());
+    ASSERT_EQ(0x00000031u, ImmutableString("max(20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000026du, ImmutableString("max(30B00B").mangledNameHash());
+    ASSERT_EQ(0x0000036eu, ImmutableString("max(10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000028eu, ImmutableString("max(20B20B").mangledNameHash());
+    ASSERT_EQ(0x0000011bu, ImmutableString("max(30B30B").mangledNameHash());
+    ASSERT_EQ(0x00000148u, ImmutableString("max(00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000212u, ImmutableString("max(10D10D").mangledNameHash());
+    ASSERT_EQ(0x00000210u, ImmutableString("max(20D20D").mangledNameHash());
+    ASSERT_EQ(0x0000030bu, ImmutableString("max(30D30D").mangledNameHash());
+    ASSERT_EQ(0x00000109u, ImmutableString("max(10D00D").mangledNameHash());
+    ASSERT_EQ(0x000000bbu, ImmutableString("max(20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000052u, ImmutableString("max(30D00D").mangledNameHash());
+    ASSERT_EQ(0x00000389u, ImmutableString("max(00E00E").mangledNameHash());
+    ASSERT_EQ(0x0000011au, ImmutableString("max(10E10E").mangledNameHash());
+    ASSERT_EQ(0x0000015au, ImmutableString("max(20E20E").mangledNameHash());
+    ASSERT_EQ(0x000001c1u, ImmutableString("max(30E30E").mangledNameHash());
+    ASSERT_EQ(0x000001e7u, ImmutableString("max(10E00E").mangledNameHash());
+    ASSERT_EQ(0x000002c4u, ImmutableString("max(20E00E").mangledNameHash());
+    ASSERT_EQ(0x00000142u, ImmutableString("max(30E00E").mangledNameHash());
+    ASSERT_EQ(0x0000016fu, ImmutableString("clamp(00B00B00B").mangledNameHash());
+    ASSERT_EQ(0x0000037fu, ImmutableString("clamp(10B00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000279u, ImmutableString("clamp(20B00B00B").mangledNameHash());
+    ASSERT_EQ(0x000000ffu, ImmutableString("clamp(30B00B00B").mangledNameHash());
+    ASSERT_EQ(0x0000001fu, ImmutableString("clamp(10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000336u, ImmutableString("clamp(20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000032u, ImmutableString("clamp(30B30B30B").mangledNameHash());
+    ASSERT_EQ(0x0000010du, ImmutableString("clamp(00D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000002u, ImmutableString("clamp(10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000002cbu, ImmutableString("clamp(20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000037eu, ImmutableString("clamp(30D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000099u, ImmutableString("clamp(10D10D10D").mangledNameHash());
+    ASSERT_EQ(0x000001e4u, ImmutableString("clamp(20D20D20D").mangledNameHash());
+    ASSERT_EQ(0x000002efu, ImmutableString("clamp(30D30D30D").mangledNameHash());
+    ASSERT_EQ(0x00000010u, ImmutableString("clamp(00E00E00E").mangledNameHash());
+    ASSERT_EQ(0x000002cau, ImmutableString("clamp(10E00E00E").mangledNameHash());
+    ASSERT_EQ(0x000002f6u, ImmutableString("clamp(20E00E00E").mangledNameHash());
+    ASSERT_EQ(0x0000022eu, ImmutableString("clamp(30E00E00E").mangledNameHash());
+    ASSERT_EQ(0x0000011cu, ImmutableString("clamp(10E10E10E").mangledNameHash());
+    ASSERT_EQ(0x000000b9u, ImmutableString("clamp(20E20E20E").mangledNameHash());
+    ASSERT_EQ(0x000000a2u, ImmutableString("clamp(30E30E30E").mangledNameHash());
+    ASSERT_EQ(0x0000021eu, ImmutableString("mix(00B00B00B").mangledNameHash());
+    ASSERT_EQ(0x000002edu, ImmutableString("mix(10B10B00B").mangledNameHash());
+    ASSERT_EQ(0x0000001eu, ImmutableString("mix(20B20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000317u, ImmutableString("mix(30B30B00B").mangledNameHash());
+    ASSERT_EQ(0x000001adu, ImmutableString("mix(10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000024du, ImmutableString("mix(20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000353u, ImmutableString("mix(30B30B30B").mangledNameHash());
+    ASSERT_EQ(0x00000054u, ImmutableString("mix(00B00B00F").mangledNameHash());
+    ASSERT_EQ(0x000001acu, ImmutableString("mix(10B10B10F").mangledNameHash());
+    ASSERT_EQ(0x0000024au, ImmutableString("mix(20B20B20F").mangledNameHash());
+    ASSERT_EQ(0x000002f9u, ImmutableString("mix(30B30B30F").mangledNameHash());
+    ASSERT_EQ(0x00000195u, ImmutableString("step(00B00B").mangledNameHash());
+    ASSERT_EQ(0x0000026fu, ImmutableString("step(10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000280u, ImmutableString("step(20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000271u, ImmutableString("step(30B30B").mangledNameHash());
+    ASSERT_EQ(0x00000078u, ImmutableString("step(00B10B").mangledNameHash());
+    ASSERT_EQ(0x00000023u, ImmutableString("step(00B20B").mangledNameHash());
+    ASSERT_EQ(0x00000296u, ImmutableString("step(00B30B").mangledNameHash());
+    ASSERT_EQ(0x0000032eu, ImmutableString("smoothstep(00B00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000217u, ImmutableString("smoothstep(10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000038cu, ImmutableString("smoothstep(20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000334u, ImmutableString("smoothstep(30B30B30B").mangledNameHash());
+    ASSERT_EQ(0x000001e8u, ImmutableString("smoothstep(00B00B10B").mangledNameHash());
+    ASSERT_EQ(0x000000d0u, ImmutableString("smoothstep(00B00B20B").mangledNameHash());
+    ASSERT_EQ(0x00000311u, ImmutableString("smoothstep(00B00B30B").mangledNameHash());
+    ASSERT_EQ(0x00000005u, ImmutableString("modf(00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000070u, ImmutableString("modf(10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000237u, ImmutableString("modf(20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000137u, ImmutableString("modf(30B30B").mangledNameHash());
+    ASSERT_EQ(0x0000022au, ImmutableString("isnan(00B").mangledNameHash());
+    ASSERT_EQ(0x0000036cu, ImmutableString("isnan(10B").mangledNameHash());
+    ASSERT_EQ(0x00000138u, ImmutableString("isnan(20B").mangledNameHash());
+    ASSERT_EQ(0x000001c2u, ImmutableString("isnan(30B").mangledNameHash());
+    ASSERT_EQ(0x00000198u, ImmutableString("isinf(00B").mangledNameHash());
+    ASSERT_EQ(0x000002cdu, ImmutableString("isinf(10B").mangledNameHash());
+    ASSERT_EQ(0x00000351u, ImmutableString("isinf(20B").mangledNameHash());
+    ASSERT_EQ(0x000000c0u, ImmutableString("isinf(30B").mangledNameHash());
+    ASSERT_EQ(0x00000387u, ImmutableString("floatBitsToInt(00B").mangledNameHash());
+    ASSERT_EQ(0x0000024eu, ImmutableString("floatBitsToInt(10B").mangledNameHash());
+    ASSERT_EQ(0x00000312u, ImmutableString("floatBitsToInt(20B").mangledNameHash());
+    ASSERT_EQ(0x0000013fu, ImmutableString("floatBitsToInt(30B").mangledNameHash());
+    ASSERT_EQ(0x00000391u, ImmutableString("floatBitsToUint(00B").mangledNameHash());
+    ASSERT_EQ(0x000000b5u, ImmutableString("floatBitsToUint(10B").mangledNameHash());
+    ASSERT_EQ(0x00000040u, ImmutableString("floatBitsToUint(20B").mangledNameHash());
+    ASSERT_EQ(0x0000025bu, ImmutableString("floatBitsToUint(30B").mangledNameHash());
+    ASSERT_EQ(0x00000062u, ImmutableString("intBitsToFloat(00D").mangledNameHash());
+    ASSERT_EQ(0x000001a5u, ImmutableString("intBitsToFloat(10D").mangledNameHash());
+    ASSERT_EQ(0x00000172u, ImmutableString("intBitsToFloat(20D").mangledNameHash());
+    ASSERT_EQ(0x00000057u, ImmutableString("intBitsToFloat(30D").mangledNameHash());
+    ASSERT_EQ(0x0000003au, ImmutableString("uintBitsToFloat(00E").mangledNameHash());
+    ASSERT_EQ(0x00000154u, ImmutableString("uintBitsToFloat(10E").mangledNameHash());
+    ASSERT_EQ(0x000002a4u, ImmutableString("uintBitsToFloat(20E").mangledNameHash());
+    ASSERT_EQ(0x00000025u, ImmutableString("uintBitsToFloat(30E").mangledNameHash());
+    ASSERT_EQ(0x00000092u, ImmutableString("frexp(00B00D").mangledNameHash());
+    ASSERT_EQ(0x000001e6u, ImmutableString("frexp(10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000171u, ImmutableString("frexp(20B20D").mangledNameHash());
+    ASSERT_EQ(0x000001c8u, ImmutableString("frexp(30B30D").mangledNameHash());
+    ASSERT_EQ(0x00000012u, ImmutableString("ldexp(00B00D").mangledNameHash());
+    ASSERT_EQ(0x00000315u, ImmutableString("ldexp(10B10D").mangledNameHash());
+    ASSERT_EQ(0x0000034cu, ImmutableString("ldexp(20B20D").mangledNameHash());
+    ASSERT_EQ(0x0000026cu, ImmutableString("ldexp(30B30D").mangledNameHash());
+    ASSERT_EQ(0x0000025au, ImmutableString("packSnorm2x16(10B").mangledNameHash());
+    ASSERT_EQ(0x000002d2u, ImmutableString("packHalf2x16(10B").mangledNameHash());
+    ASSERT_EQ(0x000001edu, ImmutableString("unpackSnorm2x16(00E").mangledNameHash());
+    ASSERT_EQ(0x00000102u, ImmutableString("unpackHalf2x16(00E").mangledNameHash());
+    ASSERT_EQ(0x000002adu, ImmutableString("packUnorm2x16(10B").mangledNameHash());
+    ASSERT_EQ(0x0000007bu, ImmutableString("unpackUnorm2x16(00E").mangledNameHash());
+    ASSERT_EQ(0x00000090u, ImmutableString("packUnorm4x8(30B").mangledNameHash());
+    ASSERT_EQ(0x000002ecu, ImmutableString("packSnorm4x8(30B").mangledNameHash());
+    ASSERT_EQ(0x000002a5u, ImmutableString("unpackUnorm4x8(00E").mangledNameHash());
+    ASSERT_EQ(0x00000131u, ImmutableString("unpackSnorm4x8(00E").mangledNameHash());
+    ASSERT_EQ(0x000001f9u, ImmutableString("length(00B").mangledNameHash());
+    ASSERT_EQ(0x000000ecu, ImmutableString("length(10B").mangledNameHash());
+    ASSERT_EQ(0x0000037au, ImmutableString("length(20B").mangledNameHash());
+    ASSERT_EQ(0x00000246u, ImmutableString("length(30B").mangledNameHash());
+    ASSERT_EQ(0x00000232u, ImmutableString("distance(00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000151u, ImmutableString("distance(10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000019au, ImmutableString("distance(20B20B").mangledNameHash());
+    ASSERT_EQ(0x000000e6u, ImmutableString("distance(30B30B").mangledNameHash());
+    ASSERT_EQ(0x000000efu, ImmutableString("dot(00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000101u, ImmutableString("dot(10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000327u, ImmutableString("dot(20B20B").mangledNameHash());
+    ASSERT_EQ(0x000000f1u, ImmutableString("dot(30B30B").mangledNameHash());
+    ASSERT_EQ(0x00000277u, ImmutableString("cross(20B20B").mangledNameHash());
+    ASSERT_EQ(0x000000a6u, ImmutableString("normalize(00B").mangledNameHash());
+    ASSERT_EQ(0x000001ecu, ImmutableString("normalize(10B").mangledNameHash());
+    ASSERT_EQ(0x000001d3u, ImmutableString("normalize(20B").mangledNameHash());
+    ASSERT_EQ(0x00000333u, ImmutableString("normalize(30B").mangledNameHash());
+    ASSERT_EQ(0x000002aeu, ImmutableString("faceforward(00B00B00B").mangledNameHash());
+    ASSERT_EQ(0x000002b9u, ImmutableString("faceforward(10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000284u, ImmutableString("faceforward(20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x0000022cu, ImmutableString("faceforward(30B30B30B").mangledNameHash());
+    ASSERT_EQ(0x000000b1u, ImmutableString("reflect(00B00B").mangledNameHash());
+    ASSERT_EQ(0x000000b4u, ImmutableString("reflect(10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000152u, ImmutableString("reflect(20B20B").mangledNameHash());
+    ASSERT_EQ(0x0000017eu, ImmutableString("reflect(30B30B").mangledNameHash());
+    ASSERT_EQ(0x000001a9u, ImmutableString("refract(00B00B00B").mangledNameHash());
+    ASSERT_EQ(0x000000d8u, ImmutableString("refract(10B10B00B").mangledNameHash());
+    ASSERT_EQ(0x000001a7u, ImmutableString("refract(20B20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000021au, ImmutableString("refract(30B30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000363u, ImmutableString("matrixCompMult(50B50B").mangledNameHash());
+    ASSERT_EQ(0x00000103u, ImmutableString("matrixCompMult(A0BA0B").mangledNameHash());
+    ASSERT_EQ(0x0000027cu, ImmutableString("matrixCompMult(F0BF0B").mangledNameHash());
+    ASSERT_EQ(0x00000225u, ImmutableString("matrixCompMult(90B90B").mangledNameHash());
+    ASSERT_EQ(0x000001eau, ImmutableString("matrixCompMult(60B60B").mangledNameHash());
+    ASSERT_EQ(0x0000004cu, ImmutableString("matrixCompMult(D0BD0B").mangledNameHash());
+    ASSERT_EQ(0x0000015bu, ImmutableString("matrixCompMult(70B70B").mangledNameHash());
+    ASSERT_EQ(0x000001f8u, ImmutableString("matrixCompMult(E0BE0B").mangledNameHash());
+    ASSERT_EQ(0x00000275u, ImmutableString("matrixCompMult(B0BB0B").mangledNameHash());
+    ASSERT_EQ(0x0000033du, ImmutableString("outerProduct(10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000012fu, ImmutableString("outerProduct(20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000290u, ImmutableString("outerProduct(30B30B").mangledNameHash());
+    ASSERT_EQ(0x00000182u, ImmutableString("outerProduct(20B10B").mangledNameHash());
+    ASSERT_EQ(0x000000fbu, ImmutableString("outerProduct(10B20B").mangledNameHash());
+    ASSERT_EQ(0x0000013eu, ImmutableString("outerProduct(30B10B").mangledNameHash());
+    ASSERT_EQ(0x00000209u, ImmutableString("outerProduct(10B30B").mangledNameHash());
+    ASSERT_EQ(0x0000017fu, ImmutableString("outerProduct(30B20B").mangledNameHash());
+    ASSERT_EQ(0x00000018u, ImmutableString("outerProduct(20B30B").mangledNameHash());
+    ASSERT_EQ(0x00000011u, ImmutableString("transpose(50B").mangledNameHash());
+    ASSERT_EQ(0x000002fbu, ImmutableString("transpose(A0B").mangledNameHash());
+    ASSERT_EQ(0x0000009cu, ImmutableString("transpose(F0B").mangledNameHash());
+    ASSERT_EQ(0x0000029eu, ImmutableString("transpose(60B").mangledNameHash());
+    ASSERT_EQ(0x00000328u, ImmutableString("transpose(90B").mangledNameHash());
+    ASSERT_EQ(0x00000029u, ImmutableString("transpose(70B").mangledNameHash());
+    ASSERT_EQ(0x000001b0u, ImmutableString("transpose(D0B").mangledNameHash());
+    ASSERT_EQ(0x0000030fu, ImmutableString("transpose(B0B").mangledNameHash());
+    ASSERT_EQ(0x00000061u, ImmutableString("transpose(E0B").mangledNameHash());
+    ASSERT_EQ(0x00000072u, ImmutableString("determinant(50B").mangledNameHash());
+    ASSERT_EQ(0x0000000au, ImmutableString("determinant(A0B").mangledNameHash());
+    ASSERT_EQ(0x000002fau, ImmutableString("determinant(F0B").mangledNameHash());
+    ASSERT_EQ(0x00000100u, ImmutableString("inverse(50B").mangledNameHash());
+    ASSERT_EQ(0x000001beu, ImmutableString("inverse(A0B").mangledNameHash());
+    ASSERT_EQ(0x000001d7u, ImmutableString("inverse(F0B").mangledNameHash());
+    ASSERT_EQ(0x000002e9u, ImmutableString("lessThan(10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000073u, ImmutableString("lessThan(20B20B").mangledNameHash());
+    ASSERT_EQ(0x000000c2u, ImmutableString("lessThan(30B30B").mangledNameHash());
+    ASSERT_EQ(0x00000123u, ImmutableString("lessThan(10D10D").mangledNameHash());
+    ASSERT_EQ(0x000000b3u, ImmutableString("lessThan(20D20D").mangledNameHash());
+    ASSERT_EQ(0x000001efu, ImmutableString("lessThan(30D30D").mangledNameHash());
+    ASSERT_EQ(0x00000096u, ImmutableString("lessThan(10E10E").mangledNameHash());
+    ASSERT_EQ(0x00000276u, ImmutableString("lessThan(20E20E").mangledNameHash());
+    ASSERT_EQ(0x00000024u, ImmutableString("lessThan(30E30E").mangledNameHash());
+    ASSERT_EQ(0x0000004du, ImmutableString("lessThanEqual(10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000003bu, ImmutableString("lessThanEqual(20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000014u, ImmutableString("lessThanEqual(30B30B").mangledNameHash());
+    ASSERT_EQ(0x0000033eu, ImmutableString("lessThanEqual(10D10D").mangledNameHash());
+    ASSERT_EQ(0x00000301u, ImmutableString("lessThanEqual(20D20D").mangledNameHash());
+    ASSERT_EQ(0x0000025cu, ImmutableString("lessThanEqual(30D30D").mangledNameHash());
+    ASSERT_EQ(0x0000023bu, ImmutableString("lessThanEqual(10E10E").mangledNameHash());
+    ASSERT_EQ(0x00000291u, ImmutableString("lessThanEqual(20E20E").mangledNameHash());
+    ASSERT_EQ(0x000000c8u, ImmutableString("lessThanEqual(30E30E").mangledNameHash());
+    ASSERT_EQ(0x00000373u, ImmutableString("greaterThan(10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000068u, ImmutableString("greaterThan(20B20B").mangledNameHash());
+    ASSERT_EQ(0x000000e9u, ImmutableString("greaterThan(30B30B").mangledNameHash());
+    ASSERT_EQ(0x000000dbu, ImmutableString("greaterThan(10D10D").mangledNameHash());
+    ASSERT_EQ(0x000000e7u, ImmutableString("greaterThan(20D20D").mangledNameHash());
+    ASSERT_EQ(0x000000dau, ImmutableString("greaterThan(30D30D").mangledNameHash());
+    ASSERT_EQ(0x00000383u, ImmutableString("greaterThan(10E10E").mangledNameHash());
+    ASSERT_EQ(0x000001a2u, ImmutableString("greaterThan(20E20E").mangledNameHash());
+    ASSERT_EQ(0x000001e5u, ImmutableString("greaterThan(30E30E").mangledNameHash());
+    ASSERT_EQ(0x00000324u, ImmutableString("greaterThanEqual(10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000220u, ImmutableString("greaterThanEqual(20B20B").mangledNameHash());
+    ASSERT_EQ(0x000002d8u, ImmutableString("greaterThanEqual(30B30B").mangledNameHash());
+    ASSERT_EQ(0x0000015eu, ImmutableString("greaterThanEqual(10D10D").mangledNameHash());
+    ASSERT_EQ(0x00000015u, ImmutableString("greaterThanEqual(20D20D").mangledNameHash());
+    ASSERT_EQ(0x0000034du, ImmutableString("greaterThanEqual(30D30D").mangledNameHash());
+    ASSERT_EQ(0x00000261u, ImmutableString("greaterThanEqual(10E10E").mangledNameHash());
+    ASSERT_EQ(0x00000122u, ImmutableString("greaterThanEqual(20E20E").mangledNameHash());
+    ASSERT_EQ(0x00000247u, ImmutableString("greaterThanEqual(30E30E").mangledNameHash());
+    ASSERT_EQ(0x00000369u, ImmutableString("equal(10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000177u, ImmutableString("equal(20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000366u, ImmutableString("equal(30B30B").mangledNameHash());
+    ASSERT_EQ(0x00000051u, ImmutableString("equal(10D10D").mangledNameHash());
+    ASSERT_EQ(0x000002b6u, ImmutableString("equal(20D20D").mangledNameHash());
+    ASSERT_EQ(0x00000258u, ImmutableString("equal(30D30D").mangledNameHash());
+    ASSERT_EQ(0x00000357u, ImmutableString("equal(10E10E").mangledNameHash());
+    ASSERT_EQ(0x0000021du, ImmutableString("equal(20E20E").mangledNameHash());
+    ASSERT_EQ(0x00000298u, ImmutableString("equal(30E30E").mangledNameHash());
+    ASSERT_EQ(0x00000156u, ImmutableString("equal(10F10F").mangledNameHash());
+    ASSERT_EQ(0x00000364u, ImmutableString("equal(20F20F").mangledNameHash());
+    ASSERT_EQ(0x000002dcu, ImmutableString("equal(30F30F").mangledNameHash());
+    ASSERT_EQ(0x000001f3u, ImmutableString("notEqual(10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000034eu, ImmutableString("notEqual(20B20B").mangledNameHash());
+    ASSERT_EQ(0x0000018eu, ImmutableString("notEqual(30B30B").mangledNameHash());
+    ASSERT_EQ(0x000002aau, ImmutableString("notEqual(10D10D").mangledNameHash());
+    ASSERT_EQ(0x00000007u, ImmutableString("notEqual(20D20D").mangledNameHash());
+    ASSERT_EQ(0x000000d7u, ImmutableString("notEqual(30D30D").mangledNameHash());
+    ASSERT_EQ(0x00000361u, ImmutableString("notEqual(10E10E").mangledNameHash());
+    ASSERT_EQ(0x000001bcu, ImmutableString("notEqual(20E20E").mangledNameHash());
+    ASSERT_EQ(0x00000239u, ImmutableString("notEqual(30E30E").mangledNameHash());
+    ASSERT_EQ(0x0000032bu, ImmutableString("notEqual(10F10F").mangledNameHash());
+    ASSERT_EQ(0x00000186u, ImmutableString("notEqual(20F20F").mangledNameHash());
+    ASSERT_EQ(0x000002dfu, ImmutableString("notEqual(30F30F").mangledNameHash());
+    ASSERT_EQ(0x00000252u, ImmutableString("any(10F").mangledNameHash());
+    ASSERT_EQ(0x000001fau, ImmutableString("any(20F").mangledNameHash());
+    ASSERT_EQ(0x000000e5u, ImmutableString("any(30F").mangledNameHash());
+    ASSERT_EQ(0x00000278u, ImmutableString("all(10F").mangledNameHash());
+    ASSERT_EQ(0x000002ccu, ImmutableString("all(20F").mangledNameHash());
+    ASSERT_EQ(0x00000048u, ImmutableString("all(30F").mangledNameHash());
+    ASSERT_EQ(0x00000094u, ImmutableString("not(10F").mangledNameHash());
+    ASSERT_EQ(0x00000128u, ImmutableString("not(20F").mangledNameHash());
+    ASSERT_EQ(0x00000329u, ImmutableString("not(30F").mangledNameHash());
+    ASSERT_EQ(0x000002ddu, ImmutableString("bitfieldExtract(00D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000188u, ImmutableString("bitfieldExtract(10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000001f1u, ImmutableString("bitfieldExtract(20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000002c0u, ImmutableString("bitfieldExtract(30D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000001f5u, ImmutableString("bitfieldExtract(00E00D00D").mangledNameHash());
+    ASSERT_EQ(0x000000deu, ImmutableString("bitfieldExtract(10E00D00D").mangledNameHash());
+    ASSERT_EQ(0x000002a3u, ImmutableString("bitfieldExtract(20E00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000015cu, ImmutableString("bitfieldExtract(30E00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000019u, ImmutableString("bitfieldInsert(00D00D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000335u, ImmutableString("bitfieldInsert(10D10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000041u, ImmutableString("bitfieldInsert(20D20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000000d3u, ImmutableString("bitfieldInsert(30D30D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000066u, ImmutableString("bitfieldInsert(00E00E00D00D").mangledNameHash());
+    ASSERT_EQ(0x000002ebu, ImmutableString("bitfieldInsert(10E10E00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000021bu, ImmutableString("bitfieldInsert(20E20E00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000037bu, ImmutableString("bitfieldInsert(30E30E00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000158u, ImmutableString("bitfieldReverse(00D").mangledNameHash());
+    ASSERT_EQ(0x00000273u, ImmutableString("bitfieldReverse(10D").mangledNameHash());
+    ASSERT_EQ(0x0000004eu, ImmutableString("bitfieldReverse(20D").mangledNameHash());
+    ASSERT_EQ(0x0000016cu, ImmutableString("bitfieldReverse(30D").mangledNameHash());
+    ASSERT_EQ(0x00000159u, ImmutableString("bitfieldReverse(00E").mangledNameHash());
+    ASSERT_EQ(0x00000272u, ImmutableString("bitfieldReverse(10E").mangledNameHash());
+    ASSERT_EQ(0x0000004fu, ImmutableString("bitfieldReverse(20E").mangledNameHash());
+    ASSERT_EQ(0x0000016bu, ImmutableString("bitfieldReverse(30E").mangledNameHash());
+    ASSERT_EQ(0x00000022u, ImmutableString("bitCount(00D").mangledNameHash());
+    ASSERT_EQ(0x00000297u, ImmutableString("bitCount(10D").mangledNameHash());
+    ASSERT_EQ(0x00000194u, ImmutableString("bitCount(20D").mangledNameHash());
+    ASSERT_EQ(0x00000079u, ImmutableString("bitCount(30D").mangledNameHash());
+    ASSERT_EQ(0x000000f2u, ImmutableString("bitCount(00E").mangledNameHash());
+    ASSERT_EQ(0x0000014du, ImmutableString("bitCount(10E").mangledNameHash());
+    ASSERT_EQ(0x000002b4u, ImmutableString("bitCount(20E").mangledNameHash());
+    ASSERT_EQ(0x00000132u, ImmutableString("bitCount(30E").mangledNameHash());
+    ASSERT_EQ(0x000002d5u, ImmutableString("findLSB(00D").mangledNameHash());
+    ASSERT_EQ(0x000001aau, ImmutableString("findLSB(10D").mangledNameHash());
+    ASSERT_EQ(0x0000008eu, ImmutableString("findLSB(20D").mangledNameHash());
+    ASSERT_EQ(0x000002b2u, ImmutableString("findLSB(30D").mangledNameHash());
+    ASSERT_EQ(0x000002d4u, ImmutableString("findLSB(00E").mangledNameHash());
+    ASSERT_EQ(0x000001abu, ImmutableString("findLSB(10E").mangledNameHash());
+    ASSERT_EQ(0x0000008du, ImmutableString("findLSB(20E").mangledNameHash());
+    ASSERT_EQ(0x000002b3u, ImmutableString("findLSB(30E").mangledNameHash());
+    ASSERT_EQ(0x0000029fu, ImmutableString("findMSB(00D").mangledNameHash());
+    ASSERT_EQ(0x000000eeu, ImmutableString("findMSB(10D").mangledNameHash());
+    ASSERT_EQ(0x0000012au, ImmutableString("findMSB(20D").mangledNameHash());
+    ASSERT_EQ(0x00000244u, ImmutableString("findMSB(30D").mangledNameHash());
+    ASSERT_EQ(0x000002a2u, ImmutableString("findMSB(00E").mangledNameHash());
+    ASSERT_EQ(0x000000edu, ImmutableString("findMSB(10E").mangledNameHash());
+    ASSERT_EQ(0x0000012bu, ImmutableString("findMSB(20E").mangledNameHash());
+    ASSERT_EQ(0x00000243u, ImmutableString("findMSB(30E").mangledNameHash());
+    ASSERT_EQ(0x00000221u, ImmutableString("uaddCarry(00E00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000348u, ImmutableString("uaddCarry(10E10E10E").mangledNameHash());
+    ASSERT_EQ(0x0000036du, ImmutableString("uaddCarry(20E20E20E").mangledNameHash());
+    ASSERT_EQ(0x0000019cu, ImmutableString("uaddCarry(30E30E30E").mangledNameHash());
+    ASSERT_EQ(0x000001c6u, ImmutableString("usubBorrow(00E00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000368u, ImmutableString("usubBorrow(10E10E10E").mangledNameHash());
+    ASSERT_EQ(0x000000f5u, ImmutableString("usubBorrow(20E20E20E").mangledNameHash());
+    ASSERT_EQ(0x00000269u, ImmutableString("usubBorrow(30E30E30E").mangledNameHash());
+    ASSERT_EQ(0x0000030cu, ImmutableString("umulExtended(00E00E00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000183u, ImmutableString("umulExtended(10E10E10E10E").mangledNameHash());
+    ASSERT_EQ(0x000002afu, ImmutableString("umulExtended(20E20E20E20E").mangledNameHash());
+    ASSERT_EQ(0x0000022bu, ImmutableString("umulExtended(30E30E30E30E").mangledNameHash());
+    ASSERT_EQ(0x000001c3u, ImmutableString("imulExtended(00D00D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000084u, ImmutableString("imulExtended(10D10D10D10D").mangledNameHash());
+    ASSERT_EQ(0x000000e4u, ImmutableString("imulExtended(20D20D20D20D").mangledNameHash());
+    ASSERT_EQ(0x00000026u, ImmutableString("imulExtended(30D30D30D30D").mangledNameHash());
+    ASSERT_EQ(0x00000093u, ImmutableString("texture2D(00I10B").mangledNameHash());
+    ASSERT_EQ(0x00000126u, ImmutableString("texture2DProj(00I20B").mangledNameHash());
+    ASSERT_EQ(0x00000236u, ImmutableString("texture2DProj(00I30B").mangledNameHash());
+    ASSERT_EQ(0x0000020au, ImmutableString("textureCube(00K20B").mangledNameHash());
+    ASSERT_EQ(0x0000033bu, ImmutableString("texture2D(00M10B").mangledNameHash());
+    ASSERT_EQ(0x000002a6u, ImmutableString("texture2DProj(00M20B").mangledNameHash());
+    ASSERT_EQ(0x000002abu, ImmutableString("texture2DProj(00M30B").mangledNameHash());
+    ASSERT_EQ(0x000000e3u, ImmutableString("texture2DRect(00O10B").mangledNameHash());
+    ASSERT_EQ(0x00000398u, ImmutableString("texture2DRectProj(00O20B").mangledNameHash());
+    ASSERT_EQ(0x00000106u, ImmutableString("texture2DRectProj(00O30B").mangledNameHash());
+    ASSERT_EQ(0x0000009bu, ImmutableString("texture(00O10B").mangledNameHash());
+    ASSERT_EQ(0x000000f9u, ImmutableString("textureProj(00O20B").mangledNameHash());
+    ASSERT_EQ(0x00000218u, ImmutableString("textureProj(00O30B").mangledNameHash());
+    ASSERT_EQ(0x00000065u, ImmutableString("texture2DGradEXT(00I10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000002fdu, ImmutableString("texture2DProjGradEXT(00I20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000006bu, ImmutableString("texture2DProjGradEXT(00I30B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000001ccu, ImmutableString("textureCubeGradEXT(00K20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x000001e2u, ImmutableString("texture2D(00I10B00B").mangledNameHash());
+    ASSERT_EQ(0x000002d3u, ImmutableString("texture2DProj(00I20B00B").mangledNameHash());
+    ASSERT_EQ(0x000001cbu, ImmutableString("texture2DProj(00I30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000326u, ImmutableString("textureCube(00K20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000027bu, ImmutableString("dFdx(00B").mangledNameHash());
+    ASSERT_EQ(0x00000169u, ImmutableString("dFdx(10B").mangledNameHash());
+    ASSERT_EQ(0x00000118u, ImmutableString("dFdx(20B").mangledNameHash());
+    ASSERT_EQ(0x0000000fu, ImmutableString("dFdx(30B").mangledNameHash());
+    ASSERT_EQ(0x00000385u, ImmutableString("dFdy(00B").mangledNameHash());
+    ASSERT_EQ(0x0000013du, ImmutableString("dFdy(10B").mangledNameHash());
+    ASSERT_EQ(0x00000192u, ImmutableString("dFdy(20B").mangledNameHash());
+    ASSERT_EQ(0x000002c8u, ImmutableString("dFdy(30B").mangledNameHash());
+    ASSERT_EQ(0x0000013bu, ImmutableString("fwidth(00B").mangledNameHash());
+    ASSERT_EQ(0x000000d5u, ImmutableString("fwidth(10B").mangledNameHash());
+    ASSERT_EQ(0x00000310u, ImmutableString("fwidth(20B").mangledNameHash());
+    ASSERT_EQ(0x00000248u, ImmutableString("fwidth(30B").mangledNameHash());
+    ASSERT_EQ(0x000002c7u, ImmutableString("texture2DLodEXT(00I10B00B").mangledNameHash());
+    ASSERT_EQ(0x000002deu, ImmutableString("texture2DProjLodEXT(00I20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000190u, ImmutableString("texture2DProjLodEXT(00I30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000345u, ImmutableString("textureCubeLodEXT(00K20B00B").mangledNameHash());
+    ASSERT_EQ(0x000001afu, ImmutableString("texture3D(00J20B").mangledNameHash());
+    ASSERT_EQ(0x00000274u, ImmutableString("texture3DProj(00J30B").mangledNameHash());
+    ASSERT_EQ(0x00000231u, ImmutableString("texture3D(00J20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000259u, ImmutableString("texture3DProj(00J30B00B").mangledNameHash());
+    ASSERT_EQ(0x000003a2u, ImmutableString("texture3DLod(00J20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000127u, ImmutableString("texture3DProjLod(00J30B00B").mangledNameHash());
+    ASSERT_EQ(0x0000028au, ImmutableString("texture2DLod(00I10B00B").mangledNameHash());
+    ASSERT_EQ(0x00000104u, ImmutableString("texture2DProjLod(00I20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000036bu, ImmutableString("texture2DProjLod(00I30B00B").mangledNameHash());
+    ASSERT_EQ(0x0000038du, ImmutableString("textureCubeLod(00K20B00B").mangledNameHash());
+    ASSERT_EQ(0x000001cdu, ImmutableString("texture(00I10B").mangledNameHash());
+    ASSERT_EQ(0x00000267u, ImmutableString("texture(00R10B").mangledNameHash());
+    ASSERT_EQ(0x000002f7u, ImmutableString("texture(00X10B").mangledNameHash());
+    ASSERT_EQ(0x00000116u, ImmutableString("texture(00J20B").mangledNameHash());
+    ASSERT_EQ(0x00000181u, ImmutableString("texture(00S20B").mangledNameHash());
+    ASSERT_EQ(0x0000008fu, ImmutableString("texture(00Y20B").mangledNameHash());
+    ASSERT_EQ(0x0000031bu, ImmutableString("texture(00K20B").mangledNameHash());
+    ASSERT_EQ(0x00000088u, ImmutableString("texture(00T20B").mangledNameHash());
+    ASSERT_EQ(0x00000043u, ImmutableString("texture(00Z20B").mangledNameHash());
+    ASSERT_EQ(0x0000011fu, ImmutableString("texture(00L20B").mangledNameHash());
+    ASSERT_EQ(0x000000dcu, ImmutableString("texture(00U20B").mangledNameHash());
+    ASSERT_EQ(0x00000233u, ImmutableString("texture(00a20B").mangledNameHash());
+    ASSERT_EQ(0x0000002eu, ImmutableString("texture(00d20B").mangledNameHash());
+    ASSERT_EQ(0x00000354u, ImmutableString("texture(00e30B").mangledNameHash());
+    ASSERT_EQ(0x0000032du, ImmutableString("texture(00f30B").mangledNameHash());
+    ASSERT_EQ(0x00000058u, ImmutableString("textureProj(00I20B").mangledNameHash());
+    ASSERT_EQ(0x00000380u, ImmutableString("textureProj(00R20B").mangledNameHash());
+    ASSERT_EQ(0x00000119u, ImmutableString("textureProj(00X20B").mangledNameHash());
+    ASSERT_EQ(0x00000211u, ImmutableString("textureProj(00I30B").mangledNameHash());
+    ASSERT_EQ(0x00000362u, ImmutableString("textureProj(00R30B").mangledNameHash());
+    ASSERT_EQ(0x00000378u, ImmutableString("textureProj(00X30B").mangledNameHash());
+    ASSERT_EQ(0x00000140u, ImmutableString("textureProj(00J30B").mangledNameHash());
+    ASSERT_EQ(0x000002c5u, ImmutableString("textureProj(00S30B").mangledNameHash());
+    ASSERT_EQ(0x00000193u, ImmutableString("textureProj(00Y30B").mangledNameHash());
+    ASSERT_EQ(0x000002f8u, ImmutableString("textureProj(00d30B").mangledNameHash());
+    ASSERT_EQ(0x0000015du, ImmutableString("textureLod(00I10B00B").mangledNameHash());
+    ASSERT_EQ(0x0000027fu, ImmutableString("textureLod(00R10B00B").mangledNameHash());
+    ASSERT_EQ(0x00000292u, ImmutableString("textureLod(00X10B00B").mangledNameHash());
+    ASSERT_EQ(0x000000b6u, ImmutableString("textureLod(00J20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000302u, ImmutableString("textureLod(00S20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000034u, ImmutableString("textureLod(00Y20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000393u, ImmutableString("textureLod(00K20B00B").mangledNameHash());
+    ASSERT_EQ(0x000000f4u, ImmutableString("textureLod(00T20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000029bu, ImmutableString("textureLod(00Z20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000009u, ImmutableString("textureLod(00L20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000367u, ImmutableString("textureLod(00U20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000251u, ImmutableString("textureLod(00a20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000144u, ImmutableString("textureLod(00d20B00B").mangledNameHash());
+    ASSERT_EQ(0x000000bcu, ImmutableString("textureSize(00I00D").mangledNameHash());
+    ASSERT_EQ(0x000000a4u, ImmutableString("textureSize(00R00D").mangledNameHash());
+    ASSERT_EQ(0x00000372u, ImmutableString("textureSize(00X00D").mangledNameHash());
+    ASSERT_EQ(0x000001b6u, ImmutableString("textureSize(00J00D").mangledNameHash());
+    ASSERT_EQ(0x00000322u, ImmutableString("textureSize(00S00D").mangledNameHash());
+    ASSERT_EQ(0x0000002cu, ImmutableString("textureSize(00Y00D").mangledNameHash());
+    ASSERT_EQ(0x00000027u, ImmutableString("textureSize(00K00D").mangledNameHash());
+    ASSERT_EQ(0x00000355u, ImmutableString("textureSize(00T00D").mangledNameHash());
+    ASSERT_EQ(0x000002beu, ImmutableString("textureSize(00Z00D").mangledNameHash());
+    ASSERT_EQ(0x000002bau, ImmutableString("textureSize(00L00D").mangledNameHash());
+    ASSERT_EQ(0x000002d9u, ImmutableString("textureSize(00U00D").mangledNameHash());
+    ASSERT_EQ(0x000000ddu, ImmutableString("textureSize(00a00D").mangledNameHash());
+    ASSERT_EQ(0x00000342u, ImmutableString("textureSize(00d00D").mangledNameHash());
+    ASSERT_EQ(0x000001bbu, ImmutableString("textureSize(00e00D").mangledNameHash());
+    ASSERT_EQ(0x000002f1u, ImmutableString("textureSize(00f00D").mangledNameHash());
+    ASSERT_EQ(0x0000007au, ImmutableString("textureProjLod(00I20B00B").mangledNameHash());
+    ASSERT_EQ(0x000000d6u, ImmutableString("textureProjLod(00R20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000228u, ImmutableString("textureProjLod(00X20B00B").mangledNameHash());
+    ASSERT_EQ(0x000001a8u, ImmutableString("textureProjLod(00I30B00B").mangledNameHash());
+    ASSERT_EQ(0x000001d9u, ImmutableString("textureProjLod(00R30B00B").mangledNameHash());
+    ASSERT_EQ(0x0000002bu, ImmutableString("textureProjLod(00X30B00B").mangledNameHash());
+    ASSERT_EQ(0x000000e2u, ImmutableString("textureProjLod(00J30B00B").mangledNameHash());
+    ASSERT_EQ(0x000000b8u, ImmutableString("textureProjLod(00S30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000303u, ImmutableString("textureProjLod(00Y30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000226u, ImmutableString("textureProjLod(00d30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000059u, ImmutableString("texelFetch(00I10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000330u, ImmutableString("texelFetch(00R10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000287u, ImmutableString("texelFetch(00X10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000038fu, ImmutableString("texelFetch(00J20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000024bu, ImmutableString("texelFetch(00S20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000006au, ImmutableString("texelFetch(00Y20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000196u, ImmutableString("texelFetch(00L20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000146u, ImmutableString("texelFetch(00U20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000037u, ImmutableString("texelFetch(00a20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000020u, ImmutableString("textureGrad(00I10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000338u, ImmutableString("textureGrad(00R10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000245u, ImmutableString("textureGrad(00X10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000001b2u, ImmutableString("textureGrad(00J20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000108u, ImmutableString("textureGrad(00S20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000111u, ImmutableString("textureGrad(00Y20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000249u, ImmutableString("textureGrad(00K20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x0000035au, ImmutableString("textureGrad(00T20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000155u, ImmutableString("textureGrad(00Z20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x0000006cu, ImmutableString("textureGrad(00d20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000240u, ImmutableString("textureGrad(00e30B20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000337u, ImmutableString("textureGrad(00L20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000019bu, ImmutableString("textureGrad(00U20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000001a3u, ImmutableString("textureGrad(00a20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000235u, ImmutableString("textureGrad(00f30B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000339u, ImmutableString("textureProjGrad(00I20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000032cu, ImmutableString("textureProjGrad(00R20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000001c0u, ImmutableString("textureProjGrad(00X20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000000bu, ImmutableString("textureProjGrad(00I30B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000000f7u, ImmutableString("textureProjGrad(00R30B10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000039eu, ImmutableString("textureProjGrad(00X30B10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000013cu, ImmutableString("textureProjGrad(00J30B20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000050u, ImmutableString("textureProjGrad(00S30B20B20B").mangledNameHash());
+    ASSERT_EQ(0x0000001au, ImmutableString("textureProjGrad(00Y30B20B20B").mangledNameHash());
+    ASSERT_EQ(0x000001b3u, ImmutableString("textureProjGrad(00d30B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000001dau, ImmutableString("textureSize(00P").mangledNameHash());
+    ASSERT_EQ(0x000002acu, ImmutableString("textureSize(00V").mangledNameHash());
+    ASSERT_EQ(0x0000020cu, ImmutableString("textureSize(00b").mangledNameHash());
+    ASSERT_EQ(0x00000223u, ImmutableString("textureSize(00Q").mangledNameHash());
+    ASSERT_EQ(0x00000227u, ImmutableString("textureSize(00W").mangledNameHash());
+    ASSERT_EQ(0x0000020bu, ImmutableString("textureSize(00c").mangledNameHash());
+    ASSERT_EQ(0x00000095u, ImmutableString("texelFetch(00P10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000012eu, ImmutableString("texelFetch(00V10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000028bu, ImmutableString("texelFetch(00b10D00D").mangledNameHash());
+    ASSERT_EQ(0x000002c3u, ImmutableString("texelFetch(00Q20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000105u, ImmutableString("texelFetch(00W20D00D").mangledNameHash());
+    ASSERT_EQ(0x000001d0u, ImmutableString("texelFetch(00c20D00D").mangledNameHash());
+    ASSERT_EQ(0x000000b0u, ImmutableString("texture(00I10B00B").mangledNameHash());
+    ASSERT_EQ(0x00000004u, ImmutableString("texture(00R10B00B").mangledNameHash());
+    ASSERT_EQ(0x00000091u, ImmutableString("texture(00X10B00B").mangledNameHash());
+    ASSERT_EQ(0x000001a6u, ImmutableString("texture(00J20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000014eu, ImmutableString("texture(00S20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000018du, ImmutableString("texture(00Y20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000019eu, ImmutableString("texture(00K20B00B").mangledNameHash());
+    ASSERT_EQ(0x000000c6u, ImmutableString("texture(00T20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000184u, ImmutableString("texture(00Z20B00B").mangledNameHash());
+    ASSERT_EQ(0x000001f2u, ImmutableString("texture(00L20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000180u, ImmutableString("texture(00U20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000038au, ImmutableString("texture(00a20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000382u, ImmutableString("textureProj(00I20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000283u, ImmutableString("textureProj(00R20B00B").mangledNameHash());
+    ASSERT_EQ(0x000001e3u, ImmutableString("textureProj(00X20B00B").mangledNameHash());
+    ASSERT_EQ(0x000000a9u, ImmutableString("textureProj(00I30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000000u, ImmutableString("textureProj(00R30B00B").mangledNameHash());
+    ASSERT_EQ(0x000001fdu, ImmutableString("textureProj(00X30B00B").mangledNameHash());
+    ASSERT_EQ(0x0000002fu, ImmutableString("textureProj(00J30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000110u, ImmutableString("textureProj(00S30B00B").mangledNameHash());
+    ASSERT_EQ(0x000001aeu, ImmutableString("textureProj(00Y30B00B").mangledNameHash());
+    ASSERT_EQ(0x000002a9u, ImmutableString("texture(00d20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000015fu, ImmutableString("texture(00e30B00B").mangledNameHash());
+    ASSERT_EQ(0x000002f5u, ImmutableString("textureProj(00d30B00B").mangledNameHash());
+    ASSERT_EQ(0x0000038bu, ImmutableString("texture(00M10B00B").mangledNameHash());
+    ASSERT_EQ(0x00000390u, ImmutableString("textureProj(00M20B00B").mangledNameHash());
+    ASSERT_EQ(0x000000aeu, ImmutableString("textureProj(00M30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000001u, ImmutableString("texture(00N10B00B").mangledNameHash());
+    ASSERT_EQ(0x000002f2u, ImmutableString("textureProj(00N20B00B").mangledNameHash());
+    ASSERT_EQ(0x000000a3u, ImmutableString("textureProj(00N30B00B").mangledNameHash());
+    ASSERT_EQ(0x000000a7u, ImmutableString("textureOffset(00I10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000260u, ImmutableString("textureOffset(00R10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000264u, ImmutableString("textureOffset(00X10B10D").mangledNameHash());
+    ASSERT_EQ(0x0000038eu, ImmutableString("textureOffset(00J20B20D").mangledNameHash());
+    ASSERT_EQ(0x0000037cu, ImmutableString("textureOffset(00S20B20D").mangledNameHash());
+    ASSERT_EQ(0x0000029du, ImmutableString("textureOffset(00Y20B20D").mangledNameHash());
+    ASSERT_EQ(0x0000000eu, ImmutableString("textureOffset(00d20B10D").mangledNameHash());
+    ASSERT_EQ(0x000000c7u, ImmutableString("textureOffset(00L20B10D").mangledNameHash());
+    ASSERT_EQ(0x0000006eu, ImmutableString("textureOffset(00U20B10D").mangledNameHash());
+    ASSERT_EQ(0x000000e8u, ImmutableString("textureOffset(00a20B10D").mangledNameHash());
+    ASSERT_EQ(0x000000d9u, ImmutableString("textureProjOffset(00I20B10D").mangledNameHash());
+    ASSERT_EQ(0x000000a0u, ImmutableString("textureProjOffset(00R20B10D").mangledNameHash());
+    ASSERT_EQ(0x0000037du, ImmutableString("textureProjOffset(00X20B10D").mangledNameHash());
+    ASSERT_EQ(0x0000016au, ImmutableString("textureProjOffset(00I30B10D").mangledNameHash());
+    ASSERT_EQ(0x0000006du, ImmutableString("textureProjOffset(00R30B10D").mangledNameHash());
+    ASSERT_EQ(0x000002d6u, ImmutableString("textureProjOffset(00X30B10D").mangledNameHash());
+    ASSERT_EQ(0x0000035cu, ImmutableString("textureProjOffset(00J30B20D").mangledNameHash());
+    ASSERT_EQ(0x000000cdu, ImmutableString("textureProjOffset(00S30B20D").mangledNameHash());
+    ASSERT_EQ(0x0000031du, ImmutableString("textureProjOffset(00Y30B20D").mangledNameHash());
+    ASSERT_EQ(0x00000360u, ImmutableString("textureProjOffset(00d30B10D").mangledNameHash());
+    ASSERT_EQ(0x00000069u, ImmutableString("textureLodOffset(00I10B00B10D").mangledNameHash());
+    ASSERT_EQ(0x00000098u, ImmutableString("textureLodOffset(00R10B00B10D").mangledNameHash());
+    ASSERT_EQ(0x000000c5u, ImmutableString("textureLodOffset(00X10B00B10D").mangledNameHash());
+    ASSERT_EQ(0x0000023du, ImmutableString("textureLodOffset(00J20B00B20D").mangledNameHash());
+    ASSERT_EQ(0x0000005du, ImmutableString("textureLodOffset(00S20B00B20D").mangledNameHash());
+    ASSERT_EQ(0x00000160u, ImmutableString("textureLodOffset(00Y20B00B20D").mangledNameHash());
+    ASSERT_EQ(0x000001bdu, ImmutableString("textureLodOffset(00d20B00B10D").mangledNameHash());
+    ASSERT_EQ(0x0000034au, ImmutableString("textureLodOffset(00L20B00B10D").mangledNameHash());
+    ASSERT_EQ(0x00000282u, ImmutableString("textureLodOffset(00U20B00B10D").mangledNameHash());
+    ASSERT_EQ(0x00000035u, ImmutableString("textureLodOffset(00a20B00B10D").mangledNameHash());
+    ASSERT_EQ(0x0000032au, ImmutableString("textureProjLodOffset(00I20B00B10D").mangledNameHash());
+    ASSERT_EQ(0x00000133u, ImmutableString("textureProjLodOffset(00R20B00B10D").mangledNameHash());
+    ASSERT_EQ(0x00000178u, ImmutableString("textureProjLodOffset(00X20B00B10D").mangledNameHash());
+    ASSERT_EQ(0x00000332u, ImmutableString("textureProjLodOffset(00I30B00B10D").mangledNameHash());
+    ASSERT_EQ(0x000001dcu, ImmutableString("textureProjLodOffset(00R30B00B10D").mangledNameHash());
+    ASSERT_EQ(0x00000350u, ImmutableString("textureProjLodOffset(00X30B00B10D").mangledNameHash());
+    ASSERT_EQ(0x000001c7u, ImmutableString("textureProjLodOffset(00J30B00B20D").mangledNameHash());
+    ASSERT_EQ(0x0000017bu, ImmutableString("textureProjLodOffset(00S30B00B20D").mangledNameHash());
+    ASSERT_EQ(0x000001bau, ImmutableString("textureProjLodOffset(00Y30B00B20D").mangledNameHash());
+    ASSERT_EQ(0x0000032fu, ImmutableString("textureProjLodOffset(00d30B00B10D").mangledNameHash());
+    ASSERT_EQ(0x0000012cu, ImmutableString("texelFetchOffset(00I10D00D10D").mangledNameHash());
+    ASSERT_EQ(0x000000bfu, ImmutableString("texelFetchOffset(00R10D00D10D").mangledNameHash());
+    ASSERT_EQ(0x000002a7u, ImmutableString("texelFetchOffset(00X10D00D10D").mangledNameHash());
+    ASSERT_EQ(0x00000203u, ImmutableString("texelFetchOffset(00J20D00D20D").mangledNameHash());
+    ASSERT_EQ(0x0000011du, ImmutableString("texelFetchOffset(00S20D00D20D").mangledNameHash());
+    ASSERT_EQ(0x00000036u, ImmutableString("texelFetchOffset(00Y20D00D20D").mangledNameHash());
+    ASSERT_EQ(0x00000257u, ImmutableString("texelFetchOffset(00L20D00D10D").mangledNameHash());
+    ASSERT_EQ(0x000001b9u, ImmutableString("texelFetchOffset(00U20D00D10D").mangledNameHash());
+    ASSERT_EQ(0x00000124u, ImmutableString("texelFetchOffset(00a20D00D10D").mangledNameHash());
+    ASSERT_EQ(0x00000238u, ImmutableString("textureGradOffset(00I10B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x000002dau, ImmutableString("textureGradOffset(00R10B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000082u, ImmutableString("textureGradOffset(00X10B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000063u, ImmutableString("textureGradOffset(00J20B20B20B20D").mangledNameHash());
+    ASSERT_EQ(0x0000009eu, ImmutableString("textureGradOffset(00S20B20B20B20D").mangledNameHash());
+    ASSERT_EQ(0x0000022du, ImmutableString("textureGradOffset(00Y20B20B20B20D").mangledNameHash());
+    ASSERT_EQ(0x000001dbu, ImmutableString("textureGradOffset(00d20B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000320u, ImmutableString("textureGradOffset(00L20B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x0000024cu, ImmutableString("textureGradOffset(00U20B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000185u, ImmutableString("textureGradOffset(00a20B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x0000020fu, ImmutableString("textureGradOffset(00f30B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x0000036au,
+              ImmutableString("textureProjGradOffset(00I20B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000055u,
+              ImmutableString("textureProjGradOffset(00R20B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000125u,
+              ImmutableString("textureProjGradOffset(00X20B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000262u,
+              ImmutableString("textureProjGradOffset(00I30B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000392u,
+              ImmutableString("textureProjGradOffset(00R30B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x000000fdu,
+              ImmutableString("textureProjGradOffset(00X30B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x0000039cu,
+              ImmutableString("textureProjGradOffset(00J30B20B20B20D").mangledNameHash());
+    ASSERT_EQ(0x00000114u,
+              ImmutableString("textureProjGradOffset(00S30B20B20B20D").mangledNameHash());
+    ASSERT_EQ(0x00000359u,
+              ImmutableString("textureProjGradOffset(00Y30B20B20B20D").mangledNameHash());
+    ASSERT_EQ(0x00000253u,
+              ImmutableString("textureProjGradOffset(00d30B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x000000feu, ImmutableString("textureOffset(00I10B10D00B").mangledNameHash());
+    ASSERT_EQ(0x0000023fu, ImmutableString("textureOffset(00R10B10D00B").mangledNameHash());
+    ASSERT_EQ(0x000002b0u, ImmutableString("textureOffset(00X10B10D00B").mangledNameHash());
+    ASSERT_EQ(0x000000c9u, ImmutableString("textureOffset(00J20B20D00B").mangledNameHash());
+    ASSERT_EQ(0x00000268u, ImmutableString("textureOffset(00S20B20D00B").mangledNameHash());
+    ASSERT_EQ(0x0000009du, ImmutableString("textureOffset(00Y20B20D00B").mangledNameHash());
+    ASSERT_EQ(0x00000266u, ImmutableString("textureOffset(00d20B10D00B").mangledNameHash());
+    ASSERT_EQ(0x000000c4u, ImmutableString("textureOffset(00L20B10D00B").mangledNameHash());
+    ASSERT_EQ(0x000001a4u, ImmutableString("textureOffset(00U20B10D00B").mangledNameHash());
+    ASSERT_EQ(0x00000213u, ImmutableString("textureOffset(00a20B10D00B").mangledNameHash());
+    ASSERT_EQ(0x00000077u, ImmutableString("textureProjOffset(00I20B10D00B").mangledNameHash());
+    ASSERT_EQ(0x0000026bu, ImmutableString("textureProjOffset(00R20B10D00B").mangledNameHash());
+    ASSERT_EQ(0x000000fau, ImmutableString("textureProjOffset(00X20B10D00B").mangledNameHash());
+    ASSERT_EQ(0x00000341u, ImmutableString("textureProjOffset(00I30B10D00B").mangledNameHash());
+    ASSERT_EQ(0x00000384u, ImmutableString("textureProjOffset(00R30B10D00B").mangledNameHash());
+    ASSERT_EQ(0x00000394u, ImmutableString("textureProjOffset(00X30B10D00B").mangledNameHash());
+    ASSERT_EQ(0x00000047u, ImmutableString("textureProjOffset(00J30B20D00B").mangledNameHash());
+    ASSERT_EQ(0x0000002au, ImmutableString("textureProjOffset(00S30B20D00B").mangledNameHash());
+    ASSERT_EQ(0x000002b7u, ImmutableString("textureProjOffset(00Y30B20D00B").mangledNameHash());
+    ASSERT_EQ(0x0000035eu, ImmutableString("textureProjOffset(00d30B10D00B").mangledNameHash());
+    ASSERT_EQ(0x00000086u, ImmutableString("texture(00M10B").mangledNameHash());
+    ASSERT_EQ(0x000000afu, ImmutableString("textureProj(00M20B").mangledNameHash());
+    ASSERT_EQ(0x00000308u, ImmutableString("textureProj(00M30B").mangledNameHash());
+    ASSERT_EQ(0x00000313u, ImmutableString("textureSize(00M00D").mangledNameHash());
+    ASSERT_EQ(0x0000009au, ImmutableString("texelFetch(00M10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000011eu, ImmutableString("texture(00N10B").mangledNameHash());
+    ASSERT_EQ(0x00000347u, ImmutableString("textureProj(00N20B").mangledNameHash());
+    ASSERT_EQ(0x00000254u, ImmutableString("textureProj(00N30B").mangledNameHash());
+    ASSERT_EQ(0x0000007cu, ImmutableString("rgb_2_yuv(20B00H").mangledNameHash());
+    ASSERT_EQ(0x000001a0u, ImmutableString("yuv_2_rgb(20B00H").mangledNameHash());
+    ASSERT_EQ(0x00000202u, ImmutableString("textureSize(00N00D").mangledNameHash());
+    ASSERT_EQ(0x0000003cu, ImmutableString("texelFetch(00N10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000023au, ImmutableString("textureGather(00I10B").mangledNameHash());
+    ASSERT_EQ(0x00000300u, ImmutableString("textureGather(00R10B").mangledNameHash());
+    ASSERT_EQ(0x00000214u, ImmutableString("textureGather(00X10B").mangledNameHash());
+    ASSERT_EQ(0x0000012du, ImmutableString("textureGather(00I10B00D").mangledNameHash());
+    ASSERT_EQ(0x000002bcu, ImmutableString("textureGather(00R10B00D").mangledNameHash());
+    ASSERT_EQ(0x000001b8u, ImmutableString("textureGather(00X10B00D").mangledNameHash());
+    ASSERT_EQ(0x0000017du, ImmutableString("textureGather(00L20B").mangledNameHash());
+    ASSERT_EQ(0x000002bfu, ImmutableString("textureGather(00U20B").mangledNameHash());
+    ASSERT_EQ(0x00000216u, ImmutableString("textureGather(00a20B").mangledNameHash());
+    ASSERT_EQ(0x00000113u, ImmutableString("textureGather(00L20B00D").mangledNameHash());
+    ASSERT_EQ(0x000002f0u, ImmutableString("textureGather(00U20B00D").mangledNameHash());
+    ASSERT_EQ(0x0000039bu, ImmutableString("textureGather(00a20B00D").mangledNameHash());
+    ASSERT_EQ(0x000000d2u, ImmutableString("textureGather(00K20B").mangledNameHash());
+    ASSERT_EQ(0x0000039au, ImmutableString("textureGather(00T20B").mangledNameHash());
+    ASSERT_EQ(0x00000263u, ImmutableString("textureGather(00Z20B").mangledNameHash());
+    ASSERT_EQ(0x00000013u, ImmutableString("textureGather(00K20B00D").mangledNameHash());
+    ASSERT_EQ(0x00000346u, ImmutableString("textureGather(00T20B00D").mangledNameHash());
+    ASSERT_EQ(0x000002ffu, ImmutableString("textureGather(00Z20B00D").mangledNameHash());
+    ASSERT_EQ(0x00000170u, ImmutableString("textureGather(00d10B").mangledNameHash());
+    ASSERT_EQ(0x00000375u, ImmutableString("textureGather(00d10B00B").mangledNameHash());
+    ASSERT_EQ(0x00000136u, ImmutableString("textureGather(00f20B").mangledNameHash());
+    ASSERT_EQ(0x000001a1u, ImmutableString("textureGather(00f20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000033au, ImmutableString("textureGather(00e20B").mangledNameHash());
+    ASSERT_EQ(0x0000014fu, ImmutableString("textureGather(00e20B00B").mangledNameHash());
+    ASSERT_EQ(0x000000c3u, ImmutableString("textureGatherOffset(00I10B10D").mangledNameHash());
+    ASSERT_EQ(0x0000005eu, ImmutableString("textureGatherOffset(00R10B10D").mangledNameHash());
+    ASSERT_EQ(0x000002eau, ImmutableString("textureGatherOffset(00X10B10D").mangledNameHash());
+    ASSERT_EQ(0x000001b7u, ImmutableString("textureGatherOffset(00I10B10D00D").mangledNameHash());
+    ASSERT_EQ(0x000001dfu, ImmutableString("textureGatherOffset(00R10B10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000356u, ImmutableString("textureGatherOffset(00X10B10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000250u, ImmutableString("textureGatherOffset(00L20B10D").mangledNameHash());
+    ASSERT_EQ(0x000002b8u, ImmutableString("textureGatherOffset(00U20B10D").mangledNameHash());
+    ASSERT_EQ(0x00000234u, ImmutableString("textureGatherOffset(00a20B10D").mangledNameHash());
+    ASSERT_EQ(0x00000021u, ImmutableString("textureGatherOffset(00L20B10D00D").mangledNameHash());
+    ASSERT_EQ(0x000000e0u, ImmutableString("textureGatherOffset(00U20B10D00D").mangledNameHash());
+    ASSERT_EQ(0x000000c1u, ImmutableString("textureGatherOffset(00a20B10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000219u, ImmutableString("textureGatherOffset(00d10B00B10D").mangledNameHash());
+    ASSERT_EQ(0x0000028fu, ImmutableString("textureGatherOffset(00f20B00B10D").mangledNameHash());
+    ASSERT_EQ(0x000000ccu, ImmutableString("atomicCounter(00G").mangledNameHash());
+    ASSERT_EQ(0x0000034bu, ImmutableString("atomicCounterIncrement(00G").mangledNameHash());
+    ASSERT_EQ(0x00000325u, ImmutableString("atomicCounterDecrement(00G").mangledNameHash());
+    ASSERT_EQ(0x00000241u, ImmutableString("atomicAdd(00E00E").mangledNameHash());
+    ASSERT_EQ(0x0000003du, ImmutableString("atomicAdd(00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000014bu, ImmutableString("atomicMin(00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000371u, ImmutableString("atomicMin(00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000036fu, ImmutableString("atomicMax(00E00E").mangledNameHash());
+    ASSERT_EQ(0x000001feu, ImmutableString("atomicMax(00D00D").mangledNameHash());
+    ASSERT_EQ(0x000000bau, ImmutableString("atomicAnd(00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000074u, ImmutableString("atomicAnd(00D00D").mangledNameHash());
+    ASSERT_EQ(0x000000acu, ImmutableString("atomicOr(00E00E").mangledNameHash());
+    ASSERT_EQ(0x000003a1u, ImmutableString("atomicOr(00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000009fu, ImmutableString("atomicXor(00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000067u, ImmutableString("atomicXor(00D00D").mangledNameHash());
+    ASSERT_EQ(0x000000a8u, ImmutableString("atomicExchange(00E00E").mangledNameHash());
+    ASSERT_EQ(0x000001deu, ImmutableString("atomicExchange(00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000031cu, ImmutableString("atomicCompSwap(00E00E00E").mangledNameHash());
+    ASSERT_EQ(0x000001f6u, ImmutableString("atomicCompSwap(00D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000197u, ImmutableString("imageSize(00y").mangledNameHash());
+    ASSERT_EQ(0x00000199u, ImmutableString("imageSize(00z").mangledNameHash());
+    ASSERT_EQ(0x00000289u, ImmutableString("imageSize(01A").mangledNameHash());
+    ASSERT_EQ(0x0000021fu, ImmutableString("imageSize(01B").mangledNameHash());
+    ASSERT_EQ(0x000002d7u, ImmutableString("imageSize(01C").mangledNameHash());
+    ASSERT_EQ(0x00000295u, ImmutableString("imageSize(01D").mangledNameHash());
+    ASSERT_EQ(0x00000285u, ImmutableString("imageSize(01E").mangledNameHash());
+    ASSERT_EQ(0x0000028cu, ImmutableString("imageSize(01F").mangledNameHash());
+    ASSERT_EQ(0x000002dbu, ImmutableString("imageSize(01G").mangledNameHash());
+    ASSERT_EQ(0x000002d0u, ImmutableString("imageSize(01H").mangledNameHash());
+    ASSERT_EQ(0x000002d1u, ImmutableString("imageSize(01I").mangledNameHash());
+    ASSERT_EQ(0x000002cfu, ImmutableString("imageSize(01J").mangledNameHash());
+    ASSERT_EQ(0x0000025eu, ImmutableString("imageLoad(00y10D").mangledNameHash());
+    ASSERT_EQ(0x000001eeu, ImmutableString("imageLoad(00z10D").mangledNameHash());
+    ASSERT_EQ(0x00000056u, ImmutableString("imageLoad(01A10D").mangledNameHash());
+    ASSERT_EQ(0x000002f4u, ImmutableString("imageLoad(01B20D").mangledNameHash());
+    ASSERT_EQ(0x000002ceu, ImmutableString("imageLoad(01C20D").mangledNameHash());
+    ASSERT_EQ(0x0000034fu, ImmutableString("imageLoad(01D20D").mangledNameHash());
+    ASSERT_EQ(0x000002eeu, ImmutableString("imageLoad(01E20D").mangledNameHash());
+    ASSERT_EQ(0x00000039u, ImmutableString("imageLoad(01F20D").mangledNameHash());
+    ASSERT_EQ(0x000001f4u, ImmutableString("imageLoad(01G20D").mangledNameHash());
+    ASSERT_EQ(0x000000d1u, ImmutableString("imageLoad(01H20D").mangledNameHash());
+    ASSERT_EQ(0x000000ceu, ImmutableString("imageLoad(01I20D").mangledNameHash());
+    ASSERT_EQ(0x00000206u, ImmutableString("imageLoad(01J20D").mangledNameHash());
+    ASSERT_EQ(0x000001e0u, ImmutableString("imageStore(00y10D30B").mangledNameHash());
+    ASSERT_EQ(0x000000f6u, ImmutableString("imageStore(00z10D30D").mangledNameHash());
+    ASSERT_EQ(0x00000115u, ImmutableString("imageStore(01A10D30E").mangledNameHash());
+    ASSERT_EQ(0x0000007fu, ImmutableString("imageStore(01B20D30B").mangledNameHash());
+    ASSERT_EQ(0x000002e3u, ImmutableString("imageStore(01C20D30D").mangledNameHash());
+    ASSERT_EQ(0x00000323u, ImmutableString("imageStore(01D20D30E").mangledNameHash());
+    ASSERT_EQ(0x000001bfu, ImmutableString("imageStore(01E20D30B").mangledNameHash());
+    ASSERT_EQ(0x00000381u, ImmutableString("imageStore(01F20D30D").mangledNameHash());
+    ASSERT_EQ(0x000000d4u, ImmutableString("imageStore(01G20D30E").mangledNameHash());
+    ASSERT_EQ(0x000002c2u, ImmutableString("imageStore(01H20D30B").mangledNameHash());
+    ASSERT_EQ(0x0000005bu, ImmutableString("imageStore(01I20D30D").mangledNameHash());
+    ASSERT_EQ(0x0000010au, ImmutableString("imageStore(01J20D30E").mangledNameHash());
+    ASSERT_EQ(0x000001fbu, ImmutableString("memoryBarrier(").mangledNameHash());
+    ASSERT_EQ(0x00000064u, ImmutableString("memoryBarrierAtomicCounter(").mangledNameHash());
+    ASSERT_EQ(0x000002bdu, ImmutableString("memoryBarrierBuffer(").mangledNameHash());
+    ASSERT_EQ(0x0000035bu, ImmutableString("memoryBarrierImage(").mangledNameHash());
+    ASSERT_EQ(0x00000120u, ImmutableString("barrier(").mangledNameHash());
+    ASSERT_EQ(0x000001ebu, ImmutableString("memoryBarrierShared(").mangledNameHash());
+    ASSERT_EQ(0x00000053u, ImmutableString("groupMemoryBarrier(").mangledNameHash());
+    ASSERT_EQ(0x0000035du, ImmutableString("EmitVertex(").mangledNameHash());
+    ASSERT_EQ(0x00000033u, ImmutableString("EndPrimitive(").mangledNameHash());
+    ASSERT_EQ(0x00000150u, ImmutableString("gl_DepthRangeParameters").mangledNameHash());
+    ASSERT_EQ(0x00000083u, ImmutableString("gl_DepthRange").mangledNameHash());
+    ASSERT_EQ(0x0000030du, ImmutableString("gl_MaxVertexAttribs").mangledNameHash());
+    ASSERT_EQ(0x00000344u, ImmutableString("gl_MaxVertexUniformVectors").mangledNameHash());
+    ASSERT_EQ(0x00000042u, ImmutableString("gl_MaxVertexTextureImageUnits").mangledNameHash());
+    ASSERT_EQ(0x0000014cu, ImmutableString("gl_MaxCombinedTextureImageUnits").mangledNameHash());
+    ASSERT_EQ(0x00000319u, ImmutableString("gl_MaxTextureImageUnits").mangledNameHash());
+    ASSERT_EQ(0x000002e6u, ImmutableString("gl_MaxFragmentUniformVectors").mangledNameHash());
+    ASSERT_EQ(0x00000340u, ImmutableString("gl_MaxVaryingVectors").mangledNameHash());
+    ASSERT_EQ(0x000000dfu, ImmutableString("gl_MaxDrawBuffers").mangledNameHash());
+    ASSERT_EQ(0x00000270u, ImmutableString("gl_MaxDualSourceDrawBuffersEXT").mangledNameHash());
+    ASSERT_EQ(0x00000087u, ImmutableString("gl_MaxVertexOutputVectors").mangledNameHash());
+    ASSERT_EQ(0x00000365u, ImmutableString("gl_MaxFragmentInputVectors").mangledNameHash());
+    ASSERT_EQ(0x0000002du, ImmutableString("gl_MinProgramTexelOffset").mangledNameHash());
+    ASSERT_EQ(0x00000255u, ImmutableString("gl_MaxProgramTexelOffset").mangledNameHash());
+    ASSERT_EQ(0x0000008bu, ImmutableString("gl_MaxImageUnits").mangledNameHash());
+    ASSERT_EQ(0x000001d1u, ImmutableString("gl_MaxVertexImageUniforms").mangledNameHash());
+    ASSERT_EQ(0x000000a5u, ImmutableString("gl_MaxFragmentImageUniforms").mangledNameHash());
+    ASSERT_EQ(0x00000008u, ImmutableString("gl_MaxComputeImageUniforms").mangledNameHash());
+    ASSERT_EQ(0x0000019fu, ImmutableString("gl_MaxCombinedImageUniforms").mangledNameHash());
+    ASSERT_EQ(0x000000abu,
+              ImmutableString("gl_MaxCombinedShaderOutputResources").mangledNameHash());
+    ASSERT_EQ(0x000000e1u, ImmutableString("gl_MaxComputeWorkGroupCount").mangledNameHash());
+    ASSERT_EQ(0x00000147u, ImmutableString("gl_MaxComputeWorkGroupSize").mangledNameHash());
+    ASSERT_EQ(0x000002bbu, ImmutableString("gl_MaxComputeUniformComponents").mangledNameHash());
+    ASSERT_EQ(0x0000010cu, ImmutableString("gl_MaxComputeTextureImageUnits").mangledNameHash());
+    ASSERT_EQ(0x00000377u, ImmutableString("gl_MaxComputeAtomicCounters").mangledNameHash());
+    ASSERT_EQ(0x000000bdu, ImmutableString("gl_MaxComputeAtomicCounterBuffers").mangledNameHash());
+    ASSERT_EQ(0x00000379u, ImmutableString("gl_MaxVertexAtomicCounters").mangledNameHash());
+    ASSERT_EQ(0x00000281u, ImmutableString("gl_MaxFragmentAtomicCounters").mangledNameHash());
+    ASSERT_EQ(0x00000112u, ImmutableString("gl_MaxCombinedAtomicCounters").mangledNameHash());
+    ASSERT_EQ(0x00000006u, ImmutableString("gl_MaxAtomicCounterBindings").mangledNameHash());
+    ASSERT_EQ(0x0000005cu, ImmutableString("gl_MaxVertexAtomicCounterBuffers").mangledNameHash());
+    ASSERT_EQ(0x000001d4u, ImmutableString("gl_MaxFragmentAtomicCounterBuffers").mangledNameHash());
+    ASSERT_EQ(0x00000229u, ImmutableString("gl_MaxCombinedAtomicCounterBuffers").mangledNameHash());
+    ASSERT_EQ(0x0000028du, ImmutableString("gl_MaxAtomicCounterBufferSize").mangledNameHash());
+    ASSERT_EQ(0x00000242u, ImmutableString("gl_MaxGeometryInputComponents").mangledNameHash());
+    ASSERT_EQ(0x0000003eu, ImmutableString("gl_MaxGeometryOutputComponents").mangledNameHash());
+    ASSERT_EQ(0x0000025du, ImmutableString("gl_MaxGeometryImageUniforms").mangledNameHash());
+    ASSERT_EQ(0x0000003fu, ImmutableString("gl_MaxGeometryTextureImageUnits").mangledNameHash());
+    ASSERT_EQ(0x00000028u, ImmutableString("gl_MaxGeometryOutputVertices").mangledNameHash());
+    ASSERT_EQ(0x000002a0u,
+              ImmutableString("gl_MaxGeometryTotalOutputComponents").mangledNameHash());
+    ASSERT_EQ(0x00000121u, ImmutableString("gl_MaxGeometryUniformComponents").mangledNameHash());
+    ASSERT_EQ(0x000001e1u, ImmutableString("gl_MaxGeometryAtomicCounters").mangledNameHash());
+    ASSERT_EQ(0x000000fcu, ImmutableString("gl_MaxGeometryAtomicCounterBuffers").mangledNameHash());
+    ASSERT_EQ(0x000000a1u, ImmutableString("gl_FragCoord").mangledNameHash());
+    ASSERT_EQ(0x000002e0u, ImmutableString("gl_FrontFacing").mangledNameHash());
+    ASSERT_EQ(0x00000117u, ImmutableString("gl_PointCoord").mangledNameHash());
+    ASSERT_EQ(0x00000075u, ImmutableString("gl_FragColor").mangledNameHash());
+    ASSERT_EQ(0x000002f3u, ImmutableString("gl_FragData").mangledNameHash());
+    ASSERT_EQ(0x00000174u, ImmutableString("gl_FragDepth").mangledNameHash());
+    ASSERT_EQ(0x000002e1u, ImmutableString("gl_SecondaryFragColorEXT").mangledNameHash());
+    ASSERT_EQ(0x000001c9u, ImmutableString("gl_SecondaryFragDataEXT").mangledNameHash());
+    ASSERT_EQ(0x00000168u, ImmutableString("gl_FragDepthEXT").mangledNameHash());
+    ASSERT_EQ(0x00000149u, ImmutableString("gl_LastFragData").mangledNameHash());
+    ASSERT_EQ(0x00000162u, ImmutableString("gl_LastFragColor").mangledNameHash());
+    ASSERT_EQ(0x000002feu, ImmutableString("gl_LastFragColorARM").mangledNameHash());
+    ASSERT_EQ(0x00000003u, ImmutableString("gl_PrimitiveID").mangledNameHash());
+    ASSERT_EQ(0x0000000du, ImmutableString("gl_Layer").mangledNameHash());
+    ASSERT_EQ(0x0000031au, ImmutableString("gl_Position").mangledNameHash());
+    ASSERT_EQ(0x00000370u, ImmutableString("gl_PointSize").mangledNameHash());
+    ASSERT_EQ(0x000001cfu, ImmutableString("gl_InstanceID").mangledNameHash());
+    ASSERT_EQ(0x00000306u, ImmutableString("gl_VertexID").mangledNameHash());
+    ASSERT_EQ(0x000003a0u, ImmutableString("gl_DrawID").mangledNameHash());
+    ASSERT_EQ(0x00000294u, ImmutableString("gl_BaseVertex").mangledNameHash());
+    ASSERT_EQ(0x0000030eu, ImmutableString("gl_BaseInstance").mangledNameHash());
+    ASSERT_EQ(0x000002b5u, ImmutableString("gl_NumWorkGroups").mangledNameHash());
+    ASSERT_EQ(0x00000207u, ImmutableString("gl_WorkGroupSize").mangledNameHash());
+    ASSERT_EQ(0x000001d5u, ImmutableString("gl_WorkGroupID").mangledNameHash());
+    ASSERT_EQ(0x0000016eu, ImmutableString("gl_LocalInvocationID").mangledNameHash());
+    ASSERT_EQ(0x000001e9u, ImmutableString("gl_GlobalInvocationID").mangledNameHash());
+    ASSERT_EQ(0x000001b5u, ImmutableString("gl_LocalInvocationIndex").mangledNameHash());
+    ASSERT_EQ(0x000000beu, ImmutableString("gl_PrimitiveIDIn").mangledNameHash());
+    ASSERT_EQ(0x00000141u, ImmutableString("gl_InvocationID").mangledNameHash());
+    ASSERT_EQ(0x000001fcu, ImmutableString("gl_PerVertex").mangledNameHash());
+    ASSERT_EQ(0x000001c4u, ImmutableString("gl_in").mangledNameHash());
+    ASSERT_EQ(0x000001ffu, ImmutableString("gl_ViewID_OVR").mangledNameHash());
+    ASSERT_EQ(0x0000001cu, ImmutableString("radians").unmangledNameHash());
+    ASSERT_EQ(0x0000000fu, ImmutableString("degrees").unmangledNameHash());
+    ASSERT_EQ(0x0000007du, ImmutableString("sin").unmangledNameHash());
+    ASSERT_EQ(0x00000042u, ImmutableString("cos").unmangledNameHash());
+    ASSERT_EQ(0x00000072u, ImmutableString("tan").unmangledNameHash());
+    ASSERT_EQ(0x0000002bu, ImmutableString("asin").unmangledNameHash());
+    ASSERT_EQ(0x00000049u, ImmutableString("acos").unmangledNameHash());
+    ASSERT_EQ(0x00000080u, ImmutableString("atan").unmangledNameHash());
+    ASSERT_EQ(0x0000003fu, ImmutableString("sinh").unmangledNameHash());
+    ASSERT_EQ(0x00000029u, ImmutableString("cosh").unmangledNameHash());
+    ASSERT_EQ(0x00000067u, ImmutableString("tanh").unmangledNameHash());
+    ASSERT_EQ(0x0000006fu, ImmutableString("asinh").unmangledNameHash());
+    ASSERT_EQ(0x00000028u, ImmutableString("acosh").unmangledNameHash());
+    ASSERT_EQ(0x00000079u, ImmutableString("atanh").unmangledNameHash());
+    ASSERT_EQ(0x0000004eu, ImmutableString("pow").unmangledNameHash());
+    ASSERT_EQ(0x00000090u, ImmutableString("exp").unmangledNameHash());
+    ASSERT_EQ(0x00000057u, ImmutableString("log").unmangledNameHash());
+    ASSERT_EQ(0x00000059u, ImmutableString("exp2").unmangledNameHash());
+    ASSERT_EQ(0x00000037u, ImmutableString("log2").unmangledNameHash());
+    ASSERT_EQ(0x0000007bu, ImmutableString("sqrt").unmangledNameHash());
+    ASSERT_EQ(0x00000065u, ImmutableString("inversesqrt").unmangledNameHash());
+    ASSERT_EQ(0x00000034u, ImmutableString("abs").unmangledNameHash());
+    ASSERT_EQ(0x00000064u, ImmutableString("sign").unmangledNameHash());
+    ASSERT_EQ(0x00000077u, ImmutableString("floor").unmangledNameHash());
+    ASSERT_EQ(0x00000041u, ImmutableString("trunc").unmangledNameHash());
+    ASSERT_EQ(0x00000023u, ImmutableString("round").unmangledNameHash());
+    ASSERT_EQ(0x00000014u, ImmutableString("roundEven").unmangledNameHash());
+    ASSERT_EQ(0x00000017u, ImmutableString("ceil").unmangledNameHash());
+    ASSERT_EQ(0x0000005bu, ImmutableString("fract").unmangledNameHash());
+    ASSERT_EQ(0x0000001au, ImmutableString("mod").unmangledNameHash());
+    ASSERT_EQ(0x0000008du, ImmutableString("min").unmangledNameHash());
+    ASSERT_EQ(0x00000035u, ImmutableString("max").unmangledNameHash());
+    ASSERT_EQ(0x00000025u, ImmutableString("clamp").unmangledNameHash());
+    ASSERT_EQ(0x0000007cu, ImmutableString("mix").unmangledNameHash());
+    ASSERT_EQ(0x0000003eu, ImmutableString("step").unmangledNameHash());
+    ASSERT_EQ(0x0000001du, ImmutableString("smoothstep").unmangledNameHash());
+    ASSERT_EQ(0x00000021u, ImmutableString("modf").unmangledNameHash());
+    ASSERT_EQ(0x0000002cu, ImmutableString("isnan").unmangledNameHash());
+    ASSERT_EQ(0x00000083u, ImmutableString("isinf").unmangledNameHash());
+    ASSERT_EQ(0x0000001bu, ImmutableString("floatBitsToInt").unmangledNameHash());
+    ASSERT_EQ(0x00000051u, ImmutableString("floatBitsToUint").unmangledNameHash());
+    ASSERT_EQ(0x0000006bu, ImmutableString("intBitsToFloat").unmangledNameHash());
+    ASSERT_EQ(0x0000004au, ImmutableString("uintBitsToFloat").unmangledNameHash());
+    ASSERT_EQ(0x0000000eu, ImmutableString("frexp").unmangledNameHash());
+    ASSERT_EQ(0x00000050u, ImmutableString("ldexp").unmangledNameHash());
+    ASSERT_EQ(0x0000008fu, ImmutableString("packSnorm2x16").unmangledNameHash());
+    ASSERT_EQ(0x00000093u, ImmutableString("packHalf2x16").unmangledNameHash());
+    ASSERT_EQ(0x00000036u, ImmutableString("unpackSnorm2x16").unmangledNameHash());
+    ASSERT_EQ(0x0000004cu, ImmutableString("unpackHalf2x16").unmangledNameHash());
+    ASSERT_EQ(0x0000004bu, ImmutableString("packUnorm2x16").unmangledNameHash());
+    ASSERT_EQ(0x00000081u, ImmutableString("unpackUnorm2x16").unmangledNameHash());
+    ASSERT_EQ(0x00000063u, ImmutableString("packUnorm4x8").unmangledNameHash());
+    ASSERT_EQ(0x0000000au, ImmutableString("packSnorm4x8").unmangledNameHash());
+    ASSERT_EQ(0x00000002u, ImmutableString("unpackUnorm4x8").unmangledNameHash());
+    ASSERT_EQ(0x00000022u, ImmutableString("unpackSnorm4x8").unmangledNameHash());
+    ASSERT_EQ(0x00000047u, ImmutableString("length").unmangledNameHash());
+    ASSERT_EQ(0x00000066u, ImmutableString("distance").unmangledNameHash());
+    ASSERT_EQ(0x00000095u, ImmutableString("dot").unmangledNameHash());
+    ASSERT_EQ(0x0000007au, ImmutableString("cross").unmangledNameHash());
+    ASSERT_EQ(0x00000075u, ImmutableString("normalize").unmangledNameHash());
+    ASSERT_EQ(0x00000033u, ImmutableString("faceforward").unmangledNameHash());
+    ASSERT_EQ(0x00000082u, ImmutableString("reflect").unmangledNameHash());
+    ASSERT_EQ(0x0000008cu, ImmutableString("refract").unmangledNameHash());
+    ASSERT_EQ(0x0000004du, ImmutableString("matrixCompMult").unmangledNameHash());
+    ASSERT_EQ(0x0000008au, ImmutableString("outerProduct").unmangledNameHash());
+    ASSERT_EQ(0x0000003du, ImmutableString("transpose").unmangledNameHash());
+    ASSERT_EQ(0x0000005du, ImmutableString("determinant").unmangledNameHash());
+    ASSERT_EQ(0x0000000bu, ImmutableString("inverse").unmangledNameHash());
+    ASSERT_EQ(0x0000001fu, ImmutableString("lessThan").unmangledNameHash());
+    ASSERT_EQ(0x0000003cu, ImmutableString("lessThanEqual").unmangledNameHash());
+    ASSERT_EQ(0x00000060u, ImmutableString("greaterThan").unmangledNameHash());
+    ASSERT_EQ(0x0000005fu, ImmutableString("greaterThanEqual").unmangledNameHash());
+    ASSERT_EQ(0x00000043u, ImmutableString("equal").unmangledNameHash());
+    ASSERT_EQ(0x00000089u, ImmutableString("notEqual").unmangledNameHash());
+    ASSERT_EQ(0x00000073u, ImmutableString("any").unmangledNameHash());
+    ASSERT_EQ(0x00000000u, ImmutableString("all").unmangledNameHash());
+    ASSERT_EQ(0x00000018u, ImmutableString("not").unmangledNameHash());
+    ASSERT_EQ(0x0000006cu, ImmutableString("bitfieldExtract").unmangledNameHash());
+    ASSERT_EQ(0x00000061u, ImmutableString("bitfieldInsert").unmangledNameHash());
+    ASSERT_EQ(0x0000002eu, ImmutableString("bitfieldReverse").unmangledNameHash());
+    ASSERT_EQ(0x00000058u, ImmutableString("bitCount").unmangledNameHash());
+    ASSERT_EQ(0x00000007u, ImmutableString("findLSB").unmangledNameHash());
+    ASSERT_EQ(0x00000026u, ImmutableString("findMSB").unmangledNameHash());
+    ASSERT_EQ(0x0000002au, ImmutableString("uaddCarry").unmangledNameHash());
+    ASSERT_EQ(0x00000045u, ImmutableString("usubBorrow").unmangledNameHash());
+    ASSERT_EQ(0x00000085u, ImmutableString("umulExtended").unmangledNameHash());
+    ASSERT_EQ(0x00000010u, ImmutableString("imulExtended").unmangledNameHash());
+    ASSERT_EQ(0x00000070u, ImmutableString("texture2D").unmangledNameHash());
+    ASSERT_EQ(0x0000003au, ImmutableString("texture2DProj").unmangledNameHash());
+    ASSERT_EQ(0x0000008eu, ImmutableString("textureCube").unmangledNameHash());
+    ASSERT_EQ(0x00000027u, ImmutableString("texture2DRect").unmangledNameHash());
+    ASSERT_EQ(0x00000019u, ImmutableString("texture2DRectProj").unmangledNameHash());
+    ASSERT_EQ(0x0000000du, ImmutableString("texture").unmangledNameHash());
+    ASSERT_EQ(0x00000001u, ImmutableString("textureProj").unmangledNameHash());
+    ASSERT_EQ(0x00000068u, ImmutableString("texture2DGradEXT").unmangledNameHash());
+    ASSERT_EQ(0x00000011u, ImmutableString("texture2DProjGradEXT").unmangledNameHash());
+    ASSERT_EQ(0x00000008u, ImmutableString("textureCubeGradEXT").unmangledNameHash());
+    ASSERT_EQ(0x0000002fu, ImmutableString("dFdx").unmangledNameHash());
+    ASSERT_EQ(0x00000020u, ImmutableString("dFdy").unmangledNameHash());
+    ASSERT_EQ(0x00000003u, ImmutableString("fwidth").unmangledNameHash());
+    ASSERT_EQ(0x00000044u, ImmutableString("texture2DLodEXT").unmangledNameHash());
+    ASSERT_EQ(0x00000015u, ImmutableString("texture2DProjLodEXT").unmangledNameHash());
+    ASSERT_EQ(0x00000053u, ImmutableString("textureCubeLodEXT").unmangledNameHash());
+    ASSERT_EQ(0x00000084u, ImmutableString("texture3D").unmangledNameHash());
+    ASSERT_EQ(0x00000062u, ImmutableString("texture3DProj").unmangledNameHash());
+    ASSERT_EQ(0x00000031u, ImmutableString("texture3DLod").unmangledNameHash());
+    ASSERT_EQ(0x0000006du, ImmutableString("texture3DProjLod").unmangledNameHash());
+    ASSERT_EQ(0x00000094u, ImmutableString("texture2DLod").unmangledNameHash());
+    ASSERT_EQ(0x0000004fu, ImmutableString("texture2DProjLod").unmangledNameHash());
+    ASSERT_EQ(0x0000000cu, ImmutableString("textureCubeLod").unmangledNameHash());
+    ASSERT_EQ(0x00000032u, ImmutableString("textureLod").unmangledNameHash());
+    ASSERT_EQ(0x00000048u, ImmutableString("textureSize").unmangledNameHash());
+    ASSERT_EQ(0x00000052u, ImmutableString("textureProjLod").unmangledNameHash());
+    ASSERT_EQ(0x00000087u, ImmutableString("texelFetch").unmangledNameHash());
+    ASSERT_EQ(0x00000038u, ImmutableString("textureGrad").unmangledNameHash());
+    ASSERT_EQ(0x0000001eu, ImmutableString("textureProjGrad").unmangledNameHash());
+    ASSERT_EQ(0x00000024u, ImmutableString("textureOffset").unmangledNameHash());
+    ASSERT_EQ(0x00000040u, ImmutableString("textureProjOffset").unmangledNameHash());
+    ASSERT_EQ(0x00000078u, ImmutableString("textureLodOffset").unmangledNameHash());
+    ASSERT_EQ(0x00000056u, ImmutableString("textureProjLodOffset").unmangledNameHash());
+    ASSERT_EQ(0x00000046u, ImmutableString("texelFetchOffset").unmangledNameHash());
+    ASSERT_EQ(0x0000007fu, ImmutableString("textureGradOffset").unmangledNameHash());
+    ASSERT_EQ(0x00000013u, ImmutableString("textureProjGradOffset").unmangledNameHash());
+    ASSERT_EQ(0x00000004u, ImmutableString("rgb_2_yuv").unmangledNameHash());
+    ASSERT_EQ(0x00000006u, ImmutableString("yuv_2_rgb").unmangledNameHash());
+    ASSERT_EQ(0x0000005eu, ImmutableString("textureGather").unmangledNameHash());
+    ASSERT_EQ(0x00000055u, ImmutableString("textureGatherOffset").unmangledNameHash());
+    ASSERT_EQ(0x0000006au, ImmutableString("atomicCounter").unmangledNameHash());
+    ASSERT_EQ(0x00000005u, ImmutableString("atomicCounterIncrement").unmangledNameHash());
+    ASSERT_EQ(0x0000003bu, ImmutableString("atomicCounterDecrement").unmangledNameHash());
+    ASSERT_EQ(0x0000006eu, ImmutableString("atomicAdd").unmangledNameHash());
+    ASSERT_EQ(0x00000092u, ImmutableString("atomicMin").unmangledNameHash());
+    ASSERT_EQ(0x0000002du, ImmutableString("atomicMax").unmangledNameHash());
+    ASSERT_EQ(0x00000012u, ImmutableString("atomicAnd").unmangledNameHash());
+    ASSERT_EQ(0x00000086u, ImmutableString("atomicOr").unmangledNameHash());
+    ASSERT_EQ(0x00000074u, ImmutableString("atomicXor").unmangledNameHash());
+    ASSERT_EQ(0x0000007eu, ImmutableString("atomicExchange").unmangledNameHash());
+    ASSERT_EQ(0x0000005au, ImmutableString("atomicCompSwap").unmangledNameHash());
+    ASSERT_EQ(0x0000008bu, ImmutableString("imageSize").unmangledNameHash());
+    ASSERT_EQ(0x00000076u, ImmutableString("imageLoad").unmangledNameHash());
+    ASSERT_EQ(0x00000054u, ImmutableString("imageStore").unmangledNameHash());
+    ASSERT_EQ(0x00000069u, ImmutableString("memoryBarrier").unmangledNameHash());
+    ASSERT_EQ(0x00000016u, ImmutableString("memoryBarrierAtomicCounter").unmangledNameHash());
+    ASSERT_EQ(0x00000071u, ImmutableString("memoryBarrierBuffer").unmangledNameHash());
+    ASSERT_EQ(0x00000009u, ImmutableString("memoryBarrierImage").unmangledNameHash());
+    ASSERT_EQ(0x00000039u, ImmutableString("barrier").unmangledNameHash());
+    ASSERT_EQ(0x00000030u, ImmutableString("memoryBarrierShared").unmangledNameHash());
+    ASSERT_EQ(0x00000091u, ImmutableString("groupMemoryBarrier").unmangledNameHash());
+    ASSERT_EQ(0x0000005cu, ImmutableString("EmitVertex").unmangledNameHash());
+    ASSERT_EQ(0x00000088u, ImmutableString("EndPrimitive").unmangledNameHash());
+}
+
+}  // namespace sh
diff --git a/src/tests/compiler_tests/ImmutableString_test_autogen.cpp b/src/tests/compiler_tests/ImmutableString_test_autogen.cpp
index 8a18dd9..45b25c8 100644
--- a/src/tests/compiler_tests/ImmutableString_test_autogen.cpp
+++ b/src/tests/compiler_tests/ImmutableString_test_autogen.cpp
@@ -16,135 +16,135 @@
 
 TEST(ImmutableStringTest, ScriptGeneratedHashesMatch)
 {
-    ASSERT_EQ(0x00000372u, ImmutableString("frexp").mangledNameHash());
+    ASSERT_EQ(0x00000373u, ImmutableString("frexp").mangledNameHash());
     ASSERT_EQ(0x000000dfu, ImmutableString("ldexp").mangledNameHash());
-    ASSERT_EQ(0x000003b4u, ImmutableString("packUnorm4x8").mangledNameHash());
+    ASSERT_EQ(0x000003b6u, ImmutableString("packUnorm4x8").mangledNameHash());
     ASSERT_EQ(0x00000126u, ImmutableString("packSnorm4x8").mangledNameHash());
-    ASSERT_EQ(0x000004d3u, ImmutableString("unpackUnorm4x8").mangledNameHash());
-    ASSERT_EQ(0x00000678u, ImmutableString("unpackSnorm4x8").mangledNameHash());
-    ASSERT_EQ(0x0000046fu, ImmutableString("bitfieldExtract").mangledNameHash());
+    ASSERT_EQ(0x000004d6u, ImmutableString("unpackUnorm4x8").mangledNameHash());
+    ASSERT_EQ(0x0000067au, ImmutableString("unpackSnorm4x8").mangledNameHash());
+    ASSERT_EQ(0x00000472u, ImmutableString("bitfieldExtract").mangledNameHash());
     ASSERT_EQ(0x0000018du, ImmutableString("bitfieldInsert").mangledNameHash());
-    ASSERT_EQ(0x00000565u, ImmutableString("bitfieldReverse").mangledNameHash());
-    ASSERT_EQ(0x000006a7u, ImmutableString("bitCount").mangledNameHash());
-    ASSERT_EQ(0x000006fau, ImmutableString("findLSB").mangledNameHash());
-    ASSERT_EQ(0x000005e4u, ImmutableString("findMSB").mangledNameHash());
-    ASSERT_EQ(0x000004b8u, ImmutableString("uaddCarry").mangledNameHash());
+    ASSERT_EQ(0x00000568u, ImmutableString("bitfieldReverse").mangledNameHash());
+    ASSERT_EQ(0x000006a9u, ImmutableString("bitCount").mangledNameHash());
+    ASSERT_EQ(0x000006fbu, ImmutableString("findLSB").mangledNameHash());
+    ASSERT_EQ(0x000005e6u, ImmutableString("findMSB").mangledNameHash());
+    ASSERT_EQ(0x000004bbu, ImmutableString("uaddCarry").mangledNameHash());
     ASSERT_EQ(0x000002a2u, ImmutableString("usubBorrow").mangledNameHash());
-    ASSERT_EQ(0x000007fbu, ImmutableString("umulExtended").mangledNameHash());
+    ASSERT_EQ(0x000007fcu, ImmutableString("umulExtended").mangledNameHash());
     ASSERT_EQ(0x00000071u, ImmutableString("imulExtended").mangledNameHash());
-    ASSERT_EQ(0x000007beu, ImmutableString("textureSize").mangledNameHash());
-    ASSERT_EQ(0x00000517u, ImmutableString("texelFetch").mangledNameHash());
+    ASSERT_EQ(0x000007bfu, ImmutableString("textureSize").mangledNameHash());
+    ASSERT_EQ(0x0000051au, ImmutableString("texelFetch").mangledNameHash());
     ASSERT_EQ(0x00000108u, ImmutableString("textureGather").mangledNameHash());
-    ASSERT_EQ(0x000007a0u, ImmutableString("textureGatherOffset").mangledNameHash());
-    ASSERT_EQ(0x0000046bu, ImmutableString("atomicCounter").mangledNameHash());
+    ASSERT_EQ(0x000007a1u, ImmutableString("textureGatherOffset").mangledNameHash());
+    ASSERT_EQ(0x0000046eu, ImmutableString("atomicCounter").mangledNameHash());
     ASSERT_EQ(0x000002f2u, ImmutableString("atomicCounterIncrement").mangledNameHash());
     ASSERT_EQ(0x00000295u, ImmutableString("atomicCounterDecrement").mangledNameHash());
-    ASSERT_EQ(0x000006c7u, ImmutableString("atomicAdd").mangledNameHash());
-    ASSERT_EQ(0x00000775u, ImmutableString("atomicMin").mangledNameHash());
+    ASSERT_EQ(0x000006c9u, ImmutableString("atomicAdd").mangledNameHash());
+    ASSERT_EQ(0x00000776u, ImmutableString("atomicMin").mangledNameHash());
     ASSERT_EQ(0x000001e7u, ImmutableString("atomicMax").mangledNameHash());
     ASSERT_EQ(0x000002fau, ImmutableString("atomicAnd").mangledNameHash());
     ASSERT_EQ(0x00000916u, ImmutableString("atomicOr").mangledNameHash());
-    ASSERT_EQ(0x000007e5u, ImmutableString("atomicXor").mangledNameHash());
+    ASSERT_EQ(0x000007e6u, ImmutableString("atomicXor").mangledNameHash());
     ASSERT_EQ(0x000008e1u, ImmutableString("atomicExchange").mangledNameHash());
-    ASSERT_EQ(0x000007cfu, ImmutableString("atomicCompSwap").mangledNameHash());
+    ASSERT_EQ(0x000007d0u, ImmutableString("atomicCompSwap").mangledNameHash());
     ASSERT_EQ(0x00000898u, ImmutableString("imageSize").mangledNameHash());
-    ASSERT_EQ(0x00000838u, ImmutableString("imageLoad").mangledNameHash());
-    ASSERT_EQ(0x00000609u, ImmutableString("imageStore").mangledNameHash());
-    ASSERT_EQ(0x00000464u, ImmutableString("memoryBarrier").mangledNameHash());
-    ASSERT_EQ(0x0000081eu, ImmutableString("memoryBarrierAtomicCounter").mangledNameHash());
-    ASSERT_EQ(0x000005a0u, ImmutableString("memoryBarrierBuffer").mangledNameHash());
+    ASSERT_EQ(0x00000839u, ImmutableString("imageLoad").mangledNameHash());
+    ASSERT_EQ(0x0000060bu, ImmutableString("imageStore").mangledNameHash());
+    ASSERT_EQ(0x00000467u, ImmutableString("memoryBarrier").mangledNameHash());
+    ASSERT_EQ(0x0000081fu, ImmutableString("memoryBarrierAtomicCounter").mangledNameHash());
+    ASSERT_EQ(0x000005a2u, ImmutableString("memoryBarrierBuffer").mangledNameHash());
     ASSERT_EQ(0x00000158u, ImmutableString("memoryBarrierImage").mangledNameHash());
     ASSERT_EQ(0x000000ccu, ImmutableString("barrier").mangledNameHash());
-    ASSERT_EQ(0x000007a4u, ImmutableString("memoryBarrierShared").mangledNameHash());
-    ASSERT_EQ(0x000007f8u, ImmutableString("groupMemoryBarrier").mangledNameHash());
+    ASSERT_EQ(0x000007a5u, ImmutableString("memoryBarrierShared").mangledNameHash());
+    ASSERT_EQ(0x000007f9u, ImmutableString("groupMemoryBarrier").mangledNameHash());
     ASSERT_EQ(0x000000e9u, ImmutableString("EmitVertex").mangledNameHash());
-    ASSERT_EQ(0x000006ccu, ImmutableString("EndPrimitive").mangledNameHash());
-    ASSERT_EQ(0x0000072au, ImmutableString("sinh").mangledNameHash());
+    ASSERT_EQ(0x000006ceu, ImmutableString("EndPrimitive").mangledNameHash());
+    ASSERT_EQ(0x0000072bu, ImmutableString("sinh").mangledNameHash());
     ASSERT_EQ(0x00000285u, ImmutableString("cosh").mangledNameHash());
     ASSERT_EQ(0x00000193u, ImmutableString("tanh").mangledNameHash());
-    ASSERT_EQ(0x00000617u, ImmutableString("asinh").mangledNameHash());
-    ASSERT_EQ(0x0000049cu, ImmutableString("acosh").mangledNameHash());
-    ASSERT_EQ(0x00000506u, ImmutableString("atanh").mangledNameHash());
-    ASSERT_EQ(0x000004beu, ImmutableString("abs").mangledNameHash());
-    ASSERT_EQ(0x00000593u, ImmutableString("sign").mangledNameHash());
-    ASSERT_EQ(0x000004cau, ImmutableString("trunc").mangledNameHash());
+    ASSERT_EQ(0x00000619u, ImmutableString("asinh").mangledNameHash());
+    ASSERT_EQ(0x0000049fu, ImmutableString("acosh").mangledNameHash());
+    ASSERT_EQ(0x00000509u, ImmutableString("atanh").mangledNameHash());
+    ASSERT_EQ(0x000004c1u, ImmutableString("abs").mangledNameHash());
+    ASSERT_EQ(0x00000595u, ImmutableString("sign").mangledNameHash());
+    ASSERT_EQ(0x000004cdu, ImmutableString("trunc").mangledNameHash());
     ASSERT_EQ(0x0000027cu, ImmutableString("round").mangledNameHash());
-    ASSERT_EQ(0x000005d7u, ImmutableString("roundEven").mangledNameHash());
-    ASSERT_EQ(0x000007eau, ImmutableString("min").mangledNameHash());
+    ASSERT_EQ(0x000005d9u, ImmutableString("roundEven").mangledNameHash());
+    ASSERT_EQ(0x000007ebu, ImmutableString("min").mangledNameHash());
     ASSERT_EQ(0x000002dfu, ImmutableString("max").mangledNameHash());
-    ASSERT_EQ(0x00000559u, ImmutableString("clamp").mangledNameHash());
-    ASSERT_EQ(0x000007f0u, ImmutableString("mix").mangledNameHash());
-    ASSERT_EQ(0x00000797u, ImmutableString("modf").mangledNameHash());
-    ASSERT_EQ(0x00000839u, ImmutableString("isnan").mangledNameHash());
-    ASSERT_EQ(0x000006bbu, ImmutableString("isinf").mangledNameHash());
-    ASSERT_EQ(0x00000671u, ImmutableString("floatBitsToInt").mangledNameHash());
-    ASSERT_EQ(0x000007c3u, ImmutableString("floatBitsToUint").mangledNameHash());
-    ASSERT_EQ(0x00000629u, ImmutableString("intBitsToFloat").mangledNameHash());
-    ASSERT_EQ(0x000007c0u, ImmutableString("uintBitsToFloat").mangledNameHash());
-    ASSERT_EQ(0x000003dfu, ImmutableString("packSnorm2x16").mangledNameHash());
-    ASSERT_EQ(0x000007feu, ImmutableString("packHalf2x16").mangledNameHash());
-    ASSERT_EQ(0x00000572u, ImmutableString("unpackSnorm2x16").mangledNameHash());
+    ASSERT_EQ(0x0000055cu, ImmutableString("clamp").mangledNameHash());
+    ASSERT_EQ(0x000007f1u, ImmutableString("mix").mangledNameHash());
+    ASSERT_EQ(0x00000798u, ImmutableString("modf").mangledNameHash());
+    ASSERT_EQ(0x0000083au, ImmutableString("isnan").mangledNameHash());
+    ASSERT_EQ(0x000006bdu, ImmutableString("isinf").mangledNameHash());
+    ASSERT_EQ(0x00000673u, ImmutableString("floatBitsToInt").mangledNameHash());
+    ASSERT_EQ(0x000007c4u, ImmutableString("floatBitsToUint").mangledNameHash());
+    ASSERT_EQ(0x0000062bu, ImmutableString("intBitsToFloat").mangledNameHash());
+    ASSERT_EQ(0x000007c1u, ImmutableString("uintBitsToFloat").mangledNameHash());
+    ASSERT_EQ(0x000003e1u, ImmutableString("packSnorm2x16").mangledNameHash());
+    ASSERT_EQ(0x000007ffu, ImmutableString("packHalf2x16").mangledNameHash());
+    ASSERT_EQ(0x00000575u, ImmutableString("unpackSnorm2x16").mangledNameHash());
     ASSERT_EQ(0x0000027eu, ImmutableString("unpackHalf2x16").mangledNameHash());
     ASSERT_EQ(0x00000059u, ImmutableString("packUnorm2x16").mangledNameHash());
     ASSERT_EQ(0x00000117u, ImmutableString("unpackUnorm2x16").mangledNameHash());
     ASSERT_EQ(0x0000005bu, ImmutableString("matrixCompMult").mangledNameHash());
-    ASSERT_EQ(0x0000051au, ImmutableString("outerProduct").mangledNameHash());
-    ASSERT_EQ(0x00000845u, ImmutableString("transpose").mangledNameHash());
+    ASSERT_EQ(0x0000051du, ImmutableString("outerProduct").mangledNameHash());
+    ASSERT_EQ(0x00000846u, ImmutableString("transpose").mangledNameHash());
     ASSERT_EQ(0x00000871u, ImmutableString("determinant").mangledNameHash());
     ASSERT_EQ(0x00000267u, ImmutableString("inverse").mangledNameHash());
     ASSERT_EQ(0x0000027au, ImmutableString("lessThan").mangledNameHash());
-    ASSERT_EQ(0x000007b3u, ImmutableString("lessThanEqual").mangledNameHash());
-    ASSERT_EQ(0x000004e8u, ImmutableString("greaterThan").mangledNameHash());
+    ASSERT_EQ(0x000007b4u, ImmutableString("lessThanEqual").mangledNameHash());
+    ASSERT_EQ(0x000004ebu, ImmutableString("greaterThan").mangledNameHash());
     ASSERT_EQ(0x00000231u, ImmutableString("greaterThanEqual").mangledNameHash());
-    ASSERT_EQ(0x0000084eu, ImmutableString("equal").mangledNameHash());
+    ASSERT_EQ(0x0000084fu, ImmutableString("equal").mangledNameHash());
     ASSERT_EQ(0x0000091bu, ImmutableString("notEqual").mangledNameHash());
-    ASSERT_EQ(0x00000370u, ImmutableString("texture").mangledNameHash());
+    ASSERT_EQ(0x00000371u, ImmutableString("texture").mangledNameHash());
     ASSERT_EQ(0x00000122u, ImmutableString("textureProj").mangledNameHash());
-    ASSERT_EQ(0x00000567u, ImmutableString("textureLod").mangledNameHash());
+    ASSERT_EQ(0x0000056au, ImmutableString("textureLod").mangledNameHash());
     ASSERT_EQ(0x00000209u, ImmutableString("textureProjLod").mangledNameHash());
-    ASSERT_EQ(0x00000430u, ImmutableString("textureGrad").mangledNameHash());
-    ASSERT_EQ(0x00000710u, ImmutableString("textureProjGrad").mangledNameHash());
-    ASSERT_EQ(0x0000058fu, ImmutableString("textureOffset").mangledNameHash());
-    ASSERT_EQ(0x000004c9u, ImmutableString("textureProjOffset").mangledNameHash());
-    ASSERT_EQ(0x000003a4u, ImmutableString("textureLodOffset").mangledNameHash());
+    ASSERT_EQ(0x00000432u, ImmutableString("textureGrad").mangledNameHash());
+    ASSERT_EQ(0x00000711u, ImmutableString("textureProjGrad").mangledNameHash());
+    ASSERT_EQ(0x000000b5u, ImmutableString("textureOffset").mangledNameHash());
+    ASSERT_EQ(0x000004ccu, ImmutableString("textureProjOffset").mangledNameHash());
+    ASSERT_EQ(0x000003a5u, ImmutableString("textureLodOffset").mangledNameHash());
     ASSERT_EQ(0x000008e9u, ImmutableString("textureProjLodOffset").mangledNameHash());
     ASSERT_EQ(0x00000888u, ImmutableString("texelFetchOffset").mangledNameHash());
-    ASSERT_EQ(0x000006dfu, ImmutableString("textureGradOffset").mangledNameHash());
+    ASSERT_EQ(0x000006e1u, ImmutableString("textureGradOffset").mangledNameHash());
     ASSERT_EQ(0x000001d2u, ImmutableString("textureProjGradOffset").mangledNameHash());
-    ASSERT_EQ(0x00000526u, ImmutableString("rgb_2_yuv").mangledNameHash());
-    ASSERT_EQ(0x00000657u, ImmutableString("yuv_2_rgb").mangledNameHash());
+    ASSERT_EQ(0x00000529u, ImmutableString("rgb_2_yuv").mangledNameHash());
+    ASSERT_EQ(0x00000659u, ImmutableString("yuv_2_rgb").mangledNameHash());
     ASSERT_EQ(0x000008bfu, ImmutableString("dFdx").mangledNameHash());
     ASSERT_EQ(0x000008c0u, ImmutableString("dFdy").mangledNameHash());
     ASSERT_EQ(0x000002f1u, ImmutableString("fwidth").mangledNameHash());
-    ASSERT_EQ(0x00000630u, ImmutableString("texture2D").mangledNameHash());
-    ASSERT_EQ(0x00000387u, ImmutableString("texture2DProj").mangledNameHash());
+    ASSERT_EQ(0x00000632u, ImmutableString("texture2D").mangledNameHash());
+    ASSERT_EQ(0x00000388u, ImmutableString("texture2DProj").mangledNameHash());
     ASSERT_EQ(0x00000093u, ImmutableString("textureCube").mangledNameHash());
     ASSERT_EQ(0x000000b6u, ImmutableString("texture2DRect").mangledNameHash());
-    ASSERT_EQ(0x0000070bu, ImmutableString("texture2DRectProj").mangledNameHash());
+    ASSERT_EQ(0x0000070cu, ImmutableString("texture2DRectProj").mangledNameHash());
     ASSERT_EQ(0x0000028du, ImmutableString("texture2DGradEXT").mangledNameHash());
     ASSERT_EQ(0x000008aeu, ImmutableString("texture2DProjGradEXT").mangledNameHash());
-    ASSERT_EQ(0x0000049eu, ImmutableString("textureCubeGradEXT").mangledNameHash());
-    ASSERT_EQ(0x0000039au, ImmutableString("texture2DLodEXT").mangledNameHash());
+    ASSERT_EQ(0x000004a1u, ImmutableString("textureCubeGradEXT").mangledNameHash());
+    ASSERT_EQ(0x0000039bu, ImmutableString("texture2DLodEXT").mangledNameHash());
     ASSERT_EQ(0x00000156u, ImmutableString("texture2DProjLodEXT").mangledNameHash());
-    ASSERT_EQ(0x0000044au, ImmutableString("textureCubeLodEXT").mangledNameHash());
-    ASSERT_EQ(0x000005bau, ImmutableString("texture3D").mangledNameHash());
+    ASSERT_EQ(0x0000044du, ImmutableString("textureCubeLodEXT").mangledNameHash());
+    ASSERT_EQ(0x000005bcu, ImmutableString("texture3D").mangledNameHash());
     ASSERT_EQ(0x0000018eu, ImmutableString("texture3DProj").mangledNameHash());
-    ASSERT_EQ(0x0000080fu, ImmutableString("texture3DLod").mangledNameHash());
+    ASSERT_EQ(0x00000810u, ImmutableString("texture3DLod").mangledNameHash());
     ASSERT_EQ(0x00000882u, ImmutableString("texture3DProjLod").mangledNameHash());
-    ASSERT_EQ(0x00000495u, ImmutableString("texture2DLod").mangledNameHash());
+    ASSERT_EQ(0x00000498u, ImmutableString("texture2DLod").mangledNameHash());
     ASSERT_EQ(0x000008e3u, ImmutableString("texture2DProjLod").mangledNameHash());
-    ASSERT_EQ(0x00000509u, ImmutableString("textureCubeLod").mangledNameHash());
-    ASSERT_EQ(0x00000794u, ImmutableString("radians").mangledNameHash());
-    ASSERT_EQ(0x00000789u, ImmutableString("degrees").mangledNameHash());
-    ASSERT_EQ(0x0000076au, ImmutableString("sin").mangledNameHash());
+    ASSERT_EQ(0x0000050cu, ImmutableString("textureCubeLod").mangledNameHash());
+    ASSERT_EQ(0x00000795u, ImmutableString("radians").mangledNameHash());
+    ASSERT_EQ(0x0000078au, ImmutableString("degrees").mangledNameHash());
+    ASSERT_EQ(0x0000076bu, ImmutableString("sin").mangledNameHash());
     ASSERT_EQ(0x00000167u, ImmutableString("cos").mangledNameHash());
-    ASSERT_EQ(0x0000075cu, ImmutableString("tan").mangledNameHash());
+    ASSERT_EQ(0x0000075du, ImmutableString("tan").mangledNameHash());
     ASSERT_EQ(0x00000036u, ImmutableString("asin").mangledNameHash());
     ASSERT_EQ(0x00000202u, ImmutableString("acos").mangledNameHash());
     ASSERT_EQ(0x000002ddu, ImmutableString("atan").mangledNameHash());
-    ASSERT_EQ(0x000003a2u, ImmutableString("pow").mangledNameHash());
-    ASSERT_EQ(0x000005c4u, ImmutableString("exp").mangledNameHash());
-    ASSERT_EQ(0x0000044eu, ImmutableString("log").mangledNameHash());
+    ASSERT_EQ(0x000003a3u, ImmutableString("pow").mangledNameHash());
+    ASSERT_EQ(0x000005c6u, ImmutableString("exp").mangledNameHash());
+    ASSERT_EQ(0x00000451u, ImmutableString("log").mangledNameHash());
     ASSERT_EQ(0x000000e7u, ImmutableString("exp2").mangledNameHash());
     ASSERT_EQ(0x000000cbu, ImmutableString("log2").mangledNameHash());
     ASSERT_EQ(0x0000088au, ImmutableString("sqrt").mangledNameHash());
@@ -152,77 +152,77 @@
     ASSERT_EQ(0x0000023au, ImmutableString("floor").mangledNameHash());
     ASSERT_EQ(0x00000134u, ImmutableString("ceil").mangledNameHash());
     ASSERT_EQ(0x0000086bu, ImmutableString("fract").mangledNameHash());
-    ASSERT_EQ(0x00000410u, ImmutableString("mod").mangledNameHash());
-    ASSERT_EQ(0x0000068fu, ImmutableString("step").mangledNameHash());
-    ASSERT_EQ(0x00000553u, ImmutableString("smoothstep").mangledNameHash());
-    ASSERT_EQ(0x000007bdu, ImmutableString("length").mangledNameHash());
-    ASSERT_EQ(0x000005d8u, ImmutableString("distance").mangledNameHash());
+    ASSERT_EQ(0x00000412u, ImmutableString("mod").mangledNameHash());
+    ASSERT_EQ(0x00000691u, ImmutableString("step").mangledNameHash());
+    ASSERT_EQ(0x00000556u, ImmutableString("smoothstep").mangledNameHash());
+    ASSERT_EQ(0x000007beu, ImmutableString("length").mangledNameHash());
+    ASSERT_EQ(0x000005dau, ImmutableString("distance").mangledNameHash());
     ASSERT_EQ(0x00000120u, ImmutableString("dot").mangledNameHash());
     ASSERT_EQ(0x00000889u, ImmutableString("cross").mangledNameHash());
     ASSERT_EQ(0x000002d2u, ImmutableString("normalize").mangledNameHash());
     ASSERT_EQ(0x00000312u, ImmutableString("faceforward").mangledNameHash());
-    ASSERT_EQ(0x00000511u, ImmutableString("reflect").mangledNameHash());
-    ASSERT_EQ(0x000007ffu, ImmutableString("refract").mangledNameHash());
-    ASSERT_EQ(0x0000034bu, ImmutableString("any").mangledNameHash());
-    ASSERT_EQ(0x00000496u, ImmutableString("all").mangledNameHash());
+    ASSERT_EQ(0x00000514u, ImmutableString("reflect").mangledNameHash());
+    ASSERT_EQ(0x00000800u, ImmutableString("refract").mangledNameHash());
+    ASSERT_EQ(0x0000034cu, ImmutableString("any").mangledNameHash());
+    ASSERT_EQ(0x00000499u, ImmutableString("all").mangledNameHash());
     ASSERT_EQ(0x0000023bu, ImmutableString("not").mangledNameHash());
-    ASSERT_EQ(0x00000768u, ImmutableString("atomicCounterAdd").mangledNameHash());
-    ASSERT_EQ(0x00000458u, ImmutableString("atomicCounterSubtract").mangledNameHash());
-    ASSERT_EQ(0x000006c4u, ImmutableString("atomicCounterMin").mangledNameHash());
+    ASSERT_EQ(0x00000769u, ImmutableString("atomicCounterAdd").mangledNameHash());
+    ASSERT_EQ(0x0000045bu, ImmutableString("atomicCounterSubtract").mangledNameHash());
+    ASSERT_EQ(0x000006c6u, ImmutableString("atomicCounterMin").mangledNameHash());
     ASSERT_EQ(0x000002c6u, ImmutableString("atomicCounterMax").mangledNameHash());
     ASSERT_EQ(0x0000020cu, ImmutableString("atomicCounterAnd").mangledNameHash());
-    ASSERT_EQ(0x0000082eu, ImmutableString("atomicCounterOr").mangledNameHash());
+    ASSERT_EQ(0x0000082fu, ImmutableString("atomicCounterOr").mangledNameHash());
     ASSERT_EQ(0x000008a1u, ImmutableString("atomicCounterXor").mangledNameHash());
-    ASSERT_EQ(0x000005bcu, ImmutableString("atomicCounterExchange").mangledNameHash());
-    ASSERT_EQ(0x00000764u, ImmutableString("atomicCounterCompSwap").mangledNameHash());
-    ASSERT_EQ(0x0000083eu, ImmutableString("subpassLoad").mangledNameHash());
-    ASSERT_EQ(0x00000731u, ImmutableString("anyInvocation").mangledNameHash());
+    ASSERT_EQ(0x000005beu, ImmutableString("atomicCounterExchange").mangledNameHash());
+    ASSERT_EQ(0x00000765u, ImmutableString("atomicCounterCompSwap").mangledNameHash());
+    ASSERT_EQ(0x0000083fu, ImmutableString("subpassLoad").mangledNameHash());
+    ASSERT_EQ(0x00000732u, ImmutableString("anyInvocation").mangledNameHash());
     ASSERT_EQ(0x0000000eu, ImmutableString("allInvocations").mangledNameHash());
-    ASSERT_EQ(0x0000049au, ImmutableString("allInvocationsEqual").mangledNameHash());
+    ASSERT_EQ(0x0000049du, ImmutableString("allInvocationsEqual").mangledNameHash());
     ASSERT_EQ(0x0000090cu, ImmutableString("textureSamples").mangledNameHash());
     ASSERT_EQ(0x0000020eu, ImmutableString("imageSamples").mangledNameHash());
     ASSERT_EQ(0x000000a8u, ImmutableString("imageAtomicExchange").mangledNameHash());
     ASSERT_EQ(0x000008b5u, ImmutableString("dFdxFine").mangledNameHash());
-    ASSERT_EQ(0x000004dfu, ImmutableString("dFdyFine").mangledNameHash());
-    ASSERT_EQ(0x000006bfu, ImmutableString("dFdxCoarse").mangledNameHash());
+    ASSERT_EQ(0x000004e2u, ImmutableString("dFdyFine").mangledNameHash());
+    ASSERT_EQ(0x000006c1u, ImmutableString("dFdxCoarse").mangledNameHash());
     ASSERT_EQ(0x00000239u, ImmutableString("dFdyCoarse").mangledNameHash());
-    ASSERT_EQ(0x0000067cu, ImmutableString("fwidthFine").mangledNameHash());
+    ASSERT_EQ(0x0000067eu, ImmutableString("fwidthFine").mangledNameHash());
     ASSERT_EQ(0x00000195u, ImmutableString("fwidthCoarse").mangledNameHash());
-    ASSERT_EQ(0x0000041bu, ImmutableString("textureQueryLevels").mangledNameHash());
+    ASSERT_EQ(0x0000041du, ImmutableString("textureQueryLevels").mangledNameHash());
     ASSERT_EQ(0x0000025eu, ImmutableString("imageAtomicAdd").mangledNameHash());
     ASSERT_EQ(0x000001acu, ImmutableString("imageAtomicMin").mangledNameHash());
-    ASSERT_EQ(0x000006e2u, ImmutableString("imageAtomicMax").mangledNameHash());
+    ASSERT_EQ(0x000006e4u, ImmutableString("imageAtomicMax").mangledNameHash());
     ASSERT_EQ(0x000002e2u, ImmutableString("imageAtomicAnd").mangledNameHash());
-    ASSERT_EQ(0x00000588u, ImmutableString("imageAtomicOr").mangledNameHash());
+    ASSERT_EQ(0x0000058bu, ImmutableString("imageAtomicOr").mangledNameHash());
     ASSERT_EQ(0x000008c7u, ImmutableString("imageAtomicXor").mangledNameHash());
-    ASSERT_EQ(0x00000779u, ImmutableString("imageAtomicCompSwap").mangledNameHash());
+    ASSERT_EQ(0x0000077au, ImmutableString("imageAtomicCompSwap").mangledNameHash());
     ASSERT_EQ(0x00000334u, ImmutableString("fma").mangledNameHash());
     ASSERT_EQ(0x0000091cu, ImmutableString("packDouble2x32").mangledNameHash());
-    ASSERT_EQ(0x0000041fu, ImmutableString("unpackDouble2x32").mangledNameHash());
-    ASSERT_EQ(0x000004e5u, ImmutableString("textureGatherOffsets").mangledNameHash());
+    ASSERT_EQ(0x00000421u, ImmutableString("unpackDouble2x32").mangledNameHash());
+    ASSERT_EQ(0x000004e8u, ImmutableString("textureGatherOffsets").mangledNameHash());
     ASSERT_EQ(0x00000118u, ImmutableString("textureQueryLod").mangledNameHash());
-    ASSERT_EQ(0x000006e3u, ImmutableString("interpolateAtCentroid").mangledNameHash());
-    ASSERT_EQ(0x000004ccu, ImmutableString("interpolateAtSample").mangledNameHash());
-    ASSERT_EQ(0x000005e7u, ImmutableString("interpolateAtOffset").mangledNameHash());
+    ASSERT_EQ(0x000006e5u, ImmutableString("interpolateAtCentroid").mangledNameHash());
+    ASSERT_EQ(0x000004cfu, ImmutableString("interpolateAtSample").mangledNameHash());
+    ASSERT_EQ(0x000005e9u, ImmutableString("interpolateAtOffset").mangledNameHash());
     ASSERT_EQ(0x0000016au, ImmutableString("EmitStreamVertex").mangledNameHash());
-    ASSERT_EQ(0x00000616u, ImmutableString("EndStreamPrimitive").mangledNameHash());
-    ASSERT_EQ(0x00000708u, ImmutableString("texture1D").mangledNameHash());
-    ASSERT_EQ(0x0000038du, ImmutableString("texture1DProj").mangledNameHash());
-    ASSERT_EQ(0x0000076fu, ImmutableString("shadow1D").mangledNameHash());
-    ASSERT_EQ(0x0000063eu, ImmutableString("shadow1DProj").mangledNameHash());
-    ASSERT_EQ(0x000007f4u, ImmutableString("shadow2D").mangledNameHash());
-    ASSERT_EQ(0x00000722u, ImmutableString("shadow2DProj").mangledNameHash());
-    ASSERT_EQ(0x00000771u, ImmutableString("noise1").mangledNameHash());
-    ASSERT_EQ(0x00000772u, ImmutableString("noise2").mangledNameHash());
-    ASSERT_EQ(0x00000773u, ImmutableString("noise3").mangledNameHash());
-    ASSERT_EQ(0x0000076eu, ImmutableString("noise4").mangledNameHash());
+    ASSERT_EQ(0x00000618u, ImmutableString("EndStreamPrimitive").mangledNameHash());
+    ASSERT_EQ(0x00000709u, ImmutableString("texture1D").mangledNameHash());
+    ASSERT_EQ(0x0000038eu, ImmutableString("texture1DProj").mangledNameHash());
+    ASSERT_EQ(0x00000770u, ImmutableString("shadow1D").mangledNameHash());
+    ASSERT_EQ(0x00000640u, ImmutableString("shadow1DProj").mangledNameHash());
+    ASSERT_EQ(0x000007f5u, ImmutableString("shadow2D").mangledNameHash());
+    ASSERT_EQ(0x00000723u, ImmutableString("shadow2DProj").mangledNameHash());
+    ASSERT_EQ(0x00000772u, ImmutableString("noise1").mangledNameHash());
+    ASSERT_EQ(0x00000773u, ImmutableString("noise2").mangledNameHash());
+    ASSERT_EQ(0x00000774u, ImmutableString("noise3").mangledNameHash());
+    ASSERT_EQ(0x0000076fu, ImmutableString("noise4").mangledNameHash());
     ASSERT_EQ(0x0000090du, ImmutableString("ftransform").mangledNameHash());
     ASSERT_EQ(0x00000338u, ImmutableString("texture1DLod").mangledNameHash());
-    ASSERT_EQ(0x00000624u, ImmutableString("texture1DProjLod").mangledNameHash());
+    ASSERT_EQ(0x00000626u, ImmutableString("texture1DProjLod").mangledNameHash());
     ASSERT_EQ(0x000008eeu, ImmutableString("shadow1DLod").mangledNameHash());
-    ASSERT_EQ(0x0000077cu, ImmutableString("shadow1DProjLod").mangledNameHash());
-    ASSERT_EQ(0x000003d0u, ImmutableString("shadow2DLod").mangledNameHash());
-    ASSERT_EQ(0x00000628u, ImmutableString("shadow2DProjLod").mangledNameHash());
+    ASSERT_EQ(0x0000077du, ImmutableString("shadow1DProjLod").mangledNameHash());
+    ASSERT_EQ(0x000003d2u, ImmutableString("shadow2DLod").mangledNameHash());
+    ASSERT_EQ(0x0000062au, ImmutableString("shadow2DProjLod").mangledNameHash());
     ASSERT_EQ(0x000002c1u, ImmutableString("frexp(00B00D").mangledNameHash());
     ASSERT_EQ(0x000002feu, ImmutableString("frexp(10B10D").mangledNameHash());
     ASSERT_EQ(0x000000efu, ImmutableString("frexp(20B20D").mangledNameHash());
@@ -230,390 +230,390 @@
     ASSERT_EQ(0x0000026cu, ImmutableString("ldexp(00B00D").mangledNameHash());
     ASSERT_EQ(0x000008d5u, ImmutableString("ldexp(10B10D").mangledNameHash());
     ASSERT_EQ(0x00000210u, ImmutableString("ldexp(20B20D").mangledNameHash());
-    ASSERT_EQ(0x000003bbu, ImmutableString("ldexp(30B30D").mangledNameHash());
-    ASSERT_EQ(0x000004e9u, ImmutableString("packUnorm4x8(30B").mangledNameHash());
-    ASSERT_EQ(0x00000673u, ImmutableString("packSnorm4x8(30B").mangledNameHash());
+    ASSERT_EQ(0x000003bdu, ImmutableString("ldexp(30B30D").mangledNameHash());
+    ASSERT_EQ(0x000004ecu, ImmutableString("packUnorm4x8(30B").mangledNameHash());
+    ASSERT_EQ(0x00000675u, ImmutableString("packSnorm4x8(30B").mangledNameHash());
     ASSERT_EQ(0x0000089eu, ImmutableString("unpackUnorm4x8(00E").mangledNameHash());
-    ASSERT_EQ(0x000007aeu, ImmutableString("unpackSnorm4x8(00E").mangledNameHash());
-    ASSERT_EQ(0x00000403u, ImmutableString("bitfieldExtract(00D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000007afu, ImmutableString("unpackSnorm4x8(00E").mangledNameHash());
+    ASSERT_EQ(0x00000405u, ImmutableString("bitfieldExtract(00D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000103u, ImmutableString("bitfieldExtract(10D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000143u, ImmutableString("bitfieldExtract(20D00D00D").mangledNameHash());
     ASSERT_EQ(0x000008aau, ImmutableString("bitfieldExtract(30D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000005e8u, ImmutableString("bitfieldExtract(00E00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000778u, ImmutableString("bitfieldExtract(10E00D00D").mangledNameHash());
+    ASSERT_EQ(0x000005eau, ImmutableString("bitfieldExtract(00E00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000779u, ImmutableString("bitfieldExtract(10E00D00D").mangledNameHash());
     ASSERT_EQ(0x0000089cu, ImmutableString("bitfieldExtract(20E00D00D").mangledNameHash());
     ASSERT_EQ(0x000000e4u, ImmutableString("bitfieldExtract(30E00D00D").mangledNameHash());
     ASSERT_EQ(0x0000026eu, ImmutableString("bitfieldInsert(00D00D00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000069au, ImmutableString("bitfieldInsert(10D10D00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000071fu, ImmutableString("bitfieldInsert(20D20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000774u, ImmutableString("bitfieldInsert(30D30D00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000733u, ImmutableString("bitfieldInsert(00E00E00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000672u, ImmutableString("bitfieldInsert(10E10E00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000084bu, ImmutableString("bitfieldInsert(20E20E00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000069cu, ImmutableString("bitfieldInsert(10D10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000720u, ImmutableString("bitfieldInsert(20D20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000775u, ImmutableString("bitfieldInsert(30D30D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000734u, ImmutableString("bitfieldInsert(00E00E00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000674u, ImmutableString("bitfieldInsert(10E10E00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000084cu, ImmutableString("bitfieldInsert(20E20E00D00D").mangledNameHash());
     ASSERT_EQ(0x0000089bu, ImmutableString("bitfieldInsert(30E30E00D00D").mangledNameHash());
     ASSERT_EQ(0x000000e2u, ImmutableString("bitfieldReverse(00D").mangledNameHash());
     ASSERT_EQ(0x000001a0u, ImmutableString("bitfieldReverse(10D").mangledNameHash());
-    ASSERT_EQ(0x000004c4u, ImmutableString("bitfieldReverse(20D").mangledNameHash());
-    ASSERT_EQ(0x0000058du, ImmutableString("bitfieldReverse(30D").mangledNameHash());
+    ASSERT_EQ(0x000004c7u, ImmutableString("bitfieldReverse(20D").mangledNameHash());
+    ASSERT_EQ(0x00000590u, ImmutableString("bitfieldReverse(30D").mangledNameHash());
     ASSERT_EQ(0x000000e3u, ImmutableString("bitfieldReverse(00E").mangledNameHash());
     ASSERT_EQ(0x0000019fu, ImmutableString("bitfieldReverse(10E").mangledNameHash());
-    ASSERT_EQ(0x000004c5u, ImmutableString("bitfieldReverse(20E").mangledNameHash());
-    ASSERT_EQ(0x0000058cu, ImmutableString("bitfieldReverse(30E").mangledNameHash());
+    ASSERT_EQ(0x000004c8u, ImmutableString("bitfieldReverse(20E").mangledNameHash());
+    ASSERT_EQ(0x0000058fu, ImmutableString("bitfieldReverse(30E").mangledNameHash());
     ASSERT_EQ(0x00000277u, ImmutableString("bitCount(00D").mangledNameHash());
     ASSERT_EQ(0x000001b4u, ImmutableString("bitCount(10D").mangledNameHash());
-    ASSERT_EQ(0x000005a8u, ImmutableString("bitCount(20D").mangledNameHash());
-    ASSERT_EQ(0x000004deu, ImmutableString("bitCount(30D").mangledNameHash());
+    ASSERT_EQ(0x000005aau, ImmutableString("bitCount(20D").mangledNameHash());
+    ASSERT_EQ(0x000004e1u, ImmutableString("bitCount(30D").mangledNameHash());
     ASSERT_EQ(0x00000278u, ImmutableString("bitCount(00E").mangledNameHash());
     ASSERT_EQ(0x000001b3u, ImmutableString("bitCount(10E").mangledNameHash());
-    ASSERT_EQ(0x000005a9u, ImmutableString("bitCount(20E").mangledNameHash());
-    ASSERT_EQ(0x000001f9u, ImmutableString("bitCount(30E").mangledNameHash());
-    ASSERT_EQ(0x00000638u, ImmutableString("findLSB(00D").mangledNameHash());
-    ASSERT_EQ(0x000007fcu, ImmutableString("findLSB(10D").mangledNameHash());
-    ASSERT_EQ(0x00000749u, ImmutableString("findLSB(20D").mangledNameHash());
-    ASSERT_EQ(0x000003e6u, ImmutableString("findLSB(30D").mangledNameHash());
+    ASSERT_EQ(0x000005abu, ImmutableString("bitCount(20E").mangledNameHash());
+    ASSERT_EQ(0x000004e0u, ImmutableString("bitCount(30E").mangledNameHash());
+    ASSERT_EQ(0x0000063au, ImmutableString("findLSB(00D").mangledNameHash());
+    ASSERT_EQ(0x000007fdu, ImmutableString("findLSB(10D").mangledNameHash());
+    ASSERT_EQ(0x0000074au, ImmutableString("findLSB(20D").mangledNameHash());
+    ASSERT_EQ(0x000003e8u, ImmutableString("findLSB(30D").mangledNameHash());
     ASSERT_EQ(0x000008b2u, ImmutableString("findLSB(00E").mangledNameHash());
     ASSERT_EQ(0x00000213u, ImmutableString("findLSB(10E").mangledNameHash());
-    ASSERT_EQ(0x00000748u, ImmutableString("findLSB(20E").mangledNameHash());
-    ASSERT_EQ(0x000003e7u, ImmutableString("findLSB(30E").mangledNameHash());
+    ASSERT_EQ(0x00000749u, ImmutableString("findLSB(20E").mangledNameHash());
+    ASSERT_EQ(0x000003e9u, ImmutableString("findLSB(30E").mangledNameHash());
     ASSERT_EQ(0x00000909u, ImmutableString("findMSB(00D").mangledNameHash());
     ASSERT_EQ(0x000000a0u, ImmutableString("findMSB(10D").mangledNameHash());
-    ASSERT_EQ(0x000007a7u, ImmutableString("findMSB(20D").mangledNameHash());
+    ASSERT_EQ(0x000007a8u, ImmutableString("findMSB(20D").mangledNameHash());
     ASSERT_EQ(0x0000086eu, ImmutableString("findMSB(30D").mangledNameHash());
     ASSERT_EQ(0x0000090au, ImmutableString("findMSB(00E").mangledNameHash());
     ASSERT_EQ(0x0000009fu, ImmutableString("findMSB(10E").mangledNameHash());
-    ASSERT_EQ(0x000007a8u, ImmutableString("findMSB(20E").mangledNameHash());
+    ASSERT_EQ(0x000007a9u, ImmutableString("findMSB(20E").mangledNameHash());
     ASSERT_EQ(0x0000086du, ImmutableString("findMSB(30E").mangledNameHash());
     ASSERT_EQ(0x0000016bu, ImmutableString("uaddCarry(00E00E00E").mangledNameHash());
-    ASSERT_EQ(0x000006a9u, ImmutableString("uaddCarry(10E10E10E").mangledNameHash());
+    ASSERT_EQ(0x000006abu, ImmutableString("uaddCarry(10E10E10E").mangledNameHash());
     ASSERT_EQ(0x00000254u, ImmutableString("uaddCarry(20E20E20E").mangledNameHash());
-    ASSERT_EQ(0x000005aeu, ImmutableString("uaddCarry(30E30E30E").mangledNameHash());
-    ASSERT_EQ(0x000005ceu, ImmutableString("usubBorrow(00E00E00E").mangledNameHash());
-    ASSERT_EQ(0x00000468u, ImmutableString("usubBorrow(10E10E10E").mangledNameHash());
-    ASSERT_EQ(0x0000054cu, ImmutableString("usubBorrow(20E20E20E").mangledNameHash());
-    ASSERT_EQ(0x00000626u, ImmutableString("usubBorrow(30E30E30E").mangledNameHash());
+    ASSERT_EQ(0x000005b0u, ImmutableString("uaddCarry(30E30E30E").mangledNameHash());
+    ASSERT_EQ(0x000005d0u, ImmutableString("usubBorrow(00E00E00E").mangledNameHash());
+    ASSERT_EQ(0x0000046bu, ImmutableString("usubBorrow(10E10E10E").mangledNameHash());
+    ASSERT_EQ(0x0000054fu, ImmutableString("usubBorrow(20E20E20E").mangledNameHash());
+    ASSERT_EQ(0x00000628u, ImmutableString("usubBorrow(30E30E30E").mangledNameHash());
     ASSERT_EQ(0x000008cfu, ImmutableString("umulExtended(00E00E00E00E").mangledNameHash());
-    ASSERT_EQ(0x00000602u, ImmutableString("umulExtended(10E10E10E10E").mangledNameHash());
+    ASSERT_EQ(0x00000604u, ImmutableString("umulExtended(10E10E10E10E").mangledNameHash());
     ASSERT_EQ(0x000001c3u, ImmutableString("umulExtended(20E20E20E20E").mangledNameHash());
-    ASSERT_EQ(0x00000606u, ImmutableString("umulExtended(30E30E30E30E").mangledNameHash());
-    ASSERT_EQ(0x00000711u, ImmutableString("imulExtended(00D00D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000003a1u, ImmutableString("imulExtended(10D10D10D10D").mangledNameHash());
-    ASSERT_EQ(0x00000536u, ImmutableString("imulExtended(20D20D20D20D").mangledNameHash());
-    ASSERT_EQ(0x0000070eu, ImmutableString("imulExtended(30D30D30D30D").mangledNameHash());
-    ASSERT_EQ(0x000003d7u, ImmutableString("textureSize(00P").mangledNameHash());
-    ASSERT_EQ(0x000003e1u, ImmutableString("textureSize(00V").mangledNameHash());
-    ASSERT_EQ(0x00000844u, ImmutableString("textureSize(00b").mangledNameHash());
-    ASSERT_EQ(0x00000852u, ImmutableString("textureSize(00Q").mangledNameHash());
-    ASSERT_EQ(0x00000856u, ImmutableString("textureSize(00W").mangledNameHash());
-    ASSERT_EQ(0x00000843u, ImmutableString("textureSize(00c").mangledNameHash());
-    ASSERT_EQ(0x000004eau, ImmutableString("texelFetch(00P10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000056cu, ImmutableString("texelFetch(00V10D00D").mangledNameHash());
-    ASSERT_EQ(0x000004b3u, ImmutableString("texelFetch(00b10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000661u, ImmutableString("texelFetch(00Q20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000608u, ImmutableString("umulExtended(30E30E30E30E").mangledNameHash());
+    ASSERT_EQ(0x00000712u, ImmutableString("imulExtended(00D00D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000003a2u, ImmutableString("imulExtended(10D10D10D10D").mangledNameHash());
+    ASSERT_EQ(0x00000539u, ImmutableString("imulExtended(20D20D20D20D").mangledNameHash());
+    ASSERT_EQ(0x0000070fu, ImmutableString("imulExtended(30D30D30D30D").mangledNameHash());
+    ASSERT_EQ(0x00000854u, ImmutableString("textureSize(00P").mangledNameHash());
+    ASSERT_EQ(0x000003e3u, ImmutableString("textureSize(00V").mangledNameHash());
+    ASSERT_EQ(0x00000845u, ImmutableString("textureSize(00b").mangledNameHash());
+    ASSERT_EQ(0x00000853u, ImmutableString("textureSize(00Q").mangledNameHash());
+    ASSERT_EQ(0x00000857u, ImmutableString("textureSize(00W").mangledNameHash());
+    ASSERT_EQ(0x00000844u, ImmutableString("textureSize(00c").mangledNameHash());
+    ASSERT_EQ(0x000004edu, ImmutableString("texelFetch(00P10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000056fu, ImmutableString("texelFetch(00V10D00D").mangledNameHash());
+    ASSERT_EQ(0x000004b6u, ImmutableString("texelFetch(00b10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000663u, ImmutableString("texelFetch(00Q20D00D").mangledNameHash());
     ASSERT_EQ(0x000008e4u, ImmutableString("texelFetch(00W20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000373u, ImmutableString("texelFetch(00c20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000374u, ImmutableString("texelFetch(00c20D00D").mangledNameHash());
     ASSERT_EQ(0x00000869u, ImmutableString("textureGather(00I10B").mangledNameHash());
-    ASSERT_EQ(0x000004b6u, ImmutableString("textureGather(00R10B").mangledNameHash());
+    ASSERT_EQ(0x000004b9u, ImmutableString("textureGather(00R10B").mangledNameHash());
     ASSERT_EQ(0x00000163u, ImmutableString("textureGather(00X10B").mangledNameHash());
-    ASSERT_EQ(0x0000056au, ImmutableString("textureGather(00I10B00D").mangledNameHash());
+    ASSERT_EQ(0x0000056du, ImmutableString("textureGather(00I10B00D").mangledNameHash());
     ASSERT_EQ(0x000008a8u, ImmutableString("textureGather(00R10B00D").mangledNameHash());
-    ASSERT_EQ(0x00000808u, ImmutableString("textureGather(00X10B00D").mangledNameHash());
+    ASSERT_EQ(0x00000809u, ImmutableString("textureGather(00X10B00D").mangledNameHash());
     ASSERT_EQ(0x000000f7u, ImmutableString("textureGather(00L20B").mangledNameHash());
-    ASSERT_EQ(0x0000065fu, ImmutableString("textureGather(00U20B").mangledNameHash());
-    ASSERT_EQ(0x00000392u, ImmutableString("textureGather(00a20B").mangledNameHash());
-    ASSERT_EQ(0x000000b5u, ImmutableString("textureGather(00L20B00D").mangledNameHash());
-    ASSERT_EQ(0x00000481u, ImmutableString("textureGather(00U20B00D").mangledNameHash());
-    ASSERT_EQ(0x000006f0u, ImmutableString("textureGather(00a20B00D").mangledNameHash());
+    ASSERT_EQ(0x00000661u, ImmutableString("textureGather(00U20B").mangledNameHash());
+    ASSERT_EQ(0x00000393u, ImmutableString("textureGather(00a20B").mangledNameHash());
+    ASSERT_EQ(0x00000443u, ImmutableString("textureGather(00L20B00D").mangledNameHash());
+    ASSERT_EQ(0x00000484u, ImmutableString("textureGather(00U20B00D").mangledNameHash());
+    ASSERT_EQ(0x000006f1u, ImmutableString("textureGather(00a20B00D").mangledNameHash());
     ASSERT_EQ(0x000008deu, ImmutableString("textureGather(00K20B").mangledNameHash());
     ASSERT_EQ(0x0000091du, ImmutableString("textureGather(00T20B").mangledNameHash());
     ASSERT_EQ(0x0000087bu, ImmutableString("textureGather(00Z20B").mangledNameHash());
-    ASSERT_EQ(0x0000044du, ImmutableString("textureGather(00K20B00D").mangledNameHash());
-    ASSERT_EQ(0x00000450u, ImmutableString("textureGather(00T20B00D").mangledNameHash());
-    ASSERT_EQ(0x00000424u, ImmutableString("textureGather(00Z20B00D").mangledNameHash());
-    ASSERT_EQ(0x000007d8u, ImmutableString("textureGather(00d10B").mangledNameHash());
+    ASSERT_EQ(0x00000450u, ImmutableString("textureGather(00K20B00D").mangledNameHash());
+    ASSERT_EQ(0x00000453u, ImmutableString("textureGather(00T20B00D").mangledNameHash());
+    ASSERT_EQ(0x00000426u, ImmutableString("textureGather(00Z20B00D").mangledNameHash());
+    ASSERT_EQ(0x000007d9u, ImmutableString("textureGather(00d10B").mangledNameHash());
     ASSERT_EQ(0x000008b4u, ImmutableString("textureGather(00d10B00B").mangledNameHash());
-    ASSERT_EQ(0x000003fau, ImmutableString("textureGather(00f20B").mangledNameHash());
+    ASSERT_EQ(0x000003fcu, ImmutableString("textureGather(00f20B").mangledNameHash());
     ASSERT_EQ(0x00000114u, ImmutableString("textureGather(00f20B00B").mangledNameHash());
-    ASSERT_EQ(0x00000448u, ImmutableString("textureGather(00e20B").mangledNameHash());
+    ASSERT_EQ(0x0000044bu, ImmutableString("textureGather(00e20B").mangledNameHash());
     ASSERT_EQ(0x000000ddu, ImmutableString("textureGather(00e20B00B").mangledNameHash());
     ASSERT_EQ(0x00000089u, ImmutableString("textureGatherOffset(00I10B10D").mangledNameHash());
     ASSERT_EQ(0x000008dfu, ImmutableString("textureGatherOffset(00R10B10D").mangledNameHash());
-    ASSERT_EQ(0x00000414u, ImmutableString("textureGatherOffset(00X10B10D").mangledNameHash());
-    ASSERT_EQ(0x000005c6u, ImmutableString("textureGatherOffset(00I10B10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000416u, ImmutableString("textureGatherOffset(00X10B10D").mangledNameHash());
+    ASSERT_EQ(0x000005c8u, ImmutableString("textureGatherOffset(00I10B10D00D").mangledNameHash());
     ASSERT_EQ(0x00000136u, ImmutableString("textureGatherOffset(00R10B10D00D").mangledNameHash());
     ASSERT_EQ(0x000008f4u, ImmutableString("textureGatherOffset(00X10B10D00D").mangledNameHash());
     ASSERT_EQ(0x00000010u, ImmutableString("textureGatherOffset(00L20B10D").mangledNameHash());
-    ASSERT_EQ(0x000003ecu, ImmutableString("textureGatherOffset(00U20B10D").mangledNameHash());
-    ASSERT_EQ(0x0000060au, ImmutableString("textureGatherOffset(00a20B10D").mangledNameHash());
+    ASSERT_EQ(0x000003eeu, ImmutableString("textureGatherOffset(00U20B10D").mangledNameHash());
+    ASSERT_EQ(0x0000060cu, ImmutableString("textureGatherOffset(00a20B10D").mangledNameHash());
     ASSERT_EQ(0x00000276u, ImmutableString("textureGatherOffset(00L20B10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000568u, ImmutableString("textureGatherOffset(00U20B10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000056bu, ImmutableString("textureGatherOffset(00U20B10D00D").mangledNameHash());
     ASSERT_EQ(0x00000088u, ImmutableString("textureGatherOffset(00a20B10D00D").mangledNameHash());
     ASSERT_EQ(0x00000165u, ImmutableString("textureGatherOffset(00d10B00B10D").mangledNameHash());
-    ASSERT_EQ(0x0000034eu, ImmutableString("textureGatherOffset(00f20B00B10D").mangledNameHash());
-    ASSERT_EQ(0x000007dcu, ImmutableString("atomicCounter(00G").mangledNameHash());
-    ASSERT_EQ(0x000006adu, ImmutableString("atomicCounterIncrement(00G").mangledNameHash());
+    ASSERT_EQ(0x0000034fu, ImmutableString("textureGatherOffset(00f20B00B10D").mangledNameHash());
+    ASSERT_EQ(0x000007ddu, ImmutableString("atomicCounter(00G").mangledNameHash());
+    ASSERT_EQ(0x000006afu, ImmutableString("atomicCounterIncrement(00G").mangledNameHash());
     ASSERT_EQ(0x00000200u, ImmutableString("atomicCounterDecrement(00G").mangledNameHash());
     ASSERT_EQ(0x00000182u, ImmutableString("atomicAdd(00E00E").mangledNameHash());
     ASSERT_EQ(0x00000035u, ImmutableString("atomicAdd(00D00D").mangledNameHash());
     ASSERT_EQ(0x00000327u, ImmutableString("atomicMin(00E00E").mangledNameHash());
     ASSERT_EQ(0x0000003cu, ImmutableString("atomicMin(00D00D").mangledNameHash());
     ASSERT_EQ(0x00000903u, ImmutableString("atomicMax(00E00E").mangledNameHash());
-    ASSERT_EQ(0x00000503u, ImmutableString("atomicMax(00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000769u, ImmutableString("atomicAnd(00E00E").mangledNameHash());
-    ASSERT_EQ(0x000004dau, ImmutableString("atomicAnd(00D00D").mangledNameHash());
-    ASSERT_EQ(0x000004ffu, ImmutableString("atomicOr(00E00E").mangledNameHash());
-    ASSERT_EQ(0x000003ddu, ImmutableString("atomicOr(00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000506u, ImmutableString("atomicMax(00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000076au, ImmutableString("atomicAnd(00E00E").mangledNameHash());
+    ASSERT_EQ(0x000004ddu, ImmutableString("atomicAnd(00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000502u, ImmutableString("atomicOr(00E00E").mangledNameHash());
+    ASSERT_EQ(0x000003dfu, ImmutableString("atomicOr(00D00D").mangledNameHash());
     ASSERT_EQ(0x000001a4u, ImmutableString("atomicXor(00E00E").mangledNameHash());
     ASSERT_EQ(0x000000fdu, ImmutableString("atomicXor(00D00D").mangledNameHash());
     ASSERT_EQ(0x00000282u, ImmutableString("atomicExchange(00E00E").mangledNameHash());
-    ASSERT_EQ(0x0000081fu, ImmutableString("atomicExchange(00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000820u, ImmutableString("atomicExchange(00D00D").mangledNameHash());
     ASSERT_EQ(0x00000306u, ImmutableString("atomicCompSwap(00E00E00E").mangledNameHash());
-    ASSERT_EQ(0x0000045au, ImmutableString("atomicCompSwap(00D00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000350u, ImmutableString("imageSize(00y").mangledNameHash());
+    ASSERT_EQ(0x0000045du, ImmutableString("atomicCompSwap(00D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000351u, ImmutableString("imageSize(00y").mangledNameHash());
     ASSERT_EQ(0x000001ceu, ImmutableString("imageSize(00z").mangledNameHash());
-    ASSERT_EQ(0x0000063bu, ImmutableString("imageSize(01A").mangledNameHash());
-    ASSERT_EQ(0x000003fdu, ImmutableString("imageSize(01B").mangledNameHash());
-    ASSERT_EQ(0x000003feu, ImmutableString("imageSize(01C").mangledNameHash());
-    ASSERT_EQ(0x00000641u, ImmutableString("imageSize(01D").mangledNameHash());
-    ASSERT_EQ(0x00000644u, ImmutableString("imageSize(01E").mangledNameHash());
-    ASSERT_EQ(0x00000400u, ImmutableString("imageSize(01F").mangledNameHash());
-    ASSERT_EQ(0x00000401u, ImmutableString("imageSize(01G").mangledNameHash());
-    ASSERT_EQ(0x0000062du, ImmutableString("imageSize(01H").mangledNameHash());
-    ASSERT_EQ(0x000003f8u, ImmutableString("imageSize(01I").mangledNameHash());
-    ASSERT_EQ(0x000003f5u, ImmutableString("imageSize(01J").mangledNameHash());
-    ASSERT_EQ(0x000003b7u, ImmutableString("imageLoad(00y10D").mangledNameHash());
-    ASSERT_EQ(0x00000385u, ImmutableString("imageLoad(00z10D").mangledNameHash());
-    ASSERT_EQ(0x000006e6u, ImmutableString("imageLoad(01A10D").mangledNameHash());
+    ASSERT_EQ(0x0000063du, ImmutableString("imageSize(01A").mangledNameHash());
+    ASSERT_EQ(0x000003ffu, ImmutableString("imageSize(01B").mangledNameHash());
+    ASSERT_EQ(0x00000400u, ImmutableString("imageSize(01C").mangledNameHash());
+    ASSERT_EQ(0x00000643u, ImmutableString("imageSize(01D").mangledNameHash());
+    ASSERT_EQ(0x00000646u, ImmutableString("imageSize(01E").mangledNameHash());
+    ASSERT_EQ(0x00000402u, ImmutableString("imageSize(01F").mangledNameHash());
+    ASSERT_EQ(0x00000403u, ImmutableString("imageSize(01G").mangledNameHash());
+    ASSERT_EQ(0x0000062fu, ImmutableString("imageSize(01H").mangledNameHash());
+    ASSERT_EQ(0x000003fau, ImmutableString("imageSize(01I").mangledNameHash());
+    ASSERT_EQ(0x000003f7u, ImmutableString("imageSize(01J").mangledNameHash());
+    ASSERT_EQ(0x000003b9u, ImmutableString("imageLoad(00y10D").mangledNameHash());
+    ASSERT_EQ(0x00000386u, ImmutableString("imageLoad(00z10D").mangledNameHash());
+    ASSERT_EQ(0x000006e8u, ImmutableString("imageLoad(01A10D").mangledNameHash());
     ASSERT_EQ(0x000001dfu, ImmutableString("imageLoad(01B20D").mangledNameHash());
-    ASSERT_EQ(0x000007afu, ImmutableString("imageLoad(01C20D").mangledNameHash());
+    ASSERT_EQ(0x000007b0u, ImmutableString("imageLoad(01C20D").mangledNameHash());
     ASSERT_EQ(0x00000212u, ImmutableString("imageLoad(01D20D").mangledNameHash());
     ASSERT_EQ(0x000008beu, ImmutableString("imageLoad(01E20D").mangledNameHash());
     ASSERT_EQ(0x00000030u, ImmutableString("imageLoad(01F20D").mangledNameHash());
-    ASSERT_EQ(0x00000830u, ImmutableString("imageLoad(01G20D").mangledNameHash());
+    ASSERT_EQ(0x00000831u, ImmutableString("imageLoad(01G20D").mangledNameHash());
     ASSERT_EQ(0x000002e6u, ImmutableString("imageLoad(01H20D").mangledNameHash());
     ASSERT_EQ(0x00000009u, ImmutableString("imageLoad(01I20D").mangledNameHash());
-    ASSERT_EQ(0x000005cbu, ImmutableString("imageLoad(01J20D").mangledNameHash());
-    ASSERT_EQ(0x00000725u, ImmutableString("imageStore(00y10D30B").mangledNameHash());
+    ASSERT_EQ(0x000005cdu, ImmutableString("imageLoad(01J20D").mangledNameHash());
+    ASSERT_EQ(0x00000726u, ImmutableString("imageStore(00y10D30B").mangledNameHash());
     ASSERT_EQ(0x000000a5u, ImmutableString("imageStore(00z10D30D").mangledNameHash());
     ASSERT_EQ(0x000000b7u, ImmutableString("imageStore(01A10D30E").mangledNameHash());
-    ASSERT_EQ(0x00000742u, ImmutableString("imageStore(01B20D30B").mangledNameHash());
+    ASSERT_EQ(0x00000743u, ImmutableString("imageStore(01B20D30B").mangledNameHash());
     ASSERT_EQ(0x000001d7u, ImmutableString("imageStore(01C20D30D").mangledNameHash());
-    ASSERT_EQ(0x000004a3u, ImmutableString("imageStore(01D20D30E").mangledNameHash());
-    ASSERT_EQ(0x00000428u, ImmutableString("imageStore(01E20D30B").mangledNameHash());
-    ASSERT_EQ(0x00000562u, ImmutableString("imageStore(01F20D30D").mangledNameHash());
-    ASSERT_EQ(0x0000051du, ImmutableString("imageStore(01G20D30E").mangledNameHash());
-    ASSERT_EQ(0x00000660u, ImmutableString("imageStore(01H20D30B").mangledNameHash());
-    ASSERT_EQ(0x000005e9u, ImmutableString("imageStore(01I20D30D").mangledNameHash());
+    ASSERT_EQ(0x000004a6u, ImmutableString("imageStore(01D20D30E").mangledNameHash());
+    ASSERT_EQ(0x0000042au, ImmutableString("imageStore(01E20D30B").mangledNameHash());
+    ASSERT_EQ(0x00000565u, ImmutableString("imageStore(01F20D30D").mangledNameHash());
+    ASSERT_EQ(0x00000520u, ImmutableString("imageStore(01G20D30E").mangledNameHash());
+    ASSERT_EQ(0x00000662u, ImmutableString("imageStore(01H20D30B").mangledNameHash());
+    ASSERT_EQ(0x000005ebu, ImmutableString("imageStore(01I20D30D").mangledNameHash());
     ASSERT_EQ(0x000000acu, ImmutableString("imageStore(01J20D30E").mangledNameHash());
-    ASSERT_EQ(0x00000484u, ImmutableString("memoryBarrier(").mangledNameHash());
-    ASSERT_EQ(0x00000732u, ImmutableString("memoryBarrierAtomicCounter(").mangledNameHash());
+    ASSERT_EQ(0x00000487u, ImmutableString("memoryBarrier(").mangledNameHash());
+    ASSERT_EQ(0x00000733u, ImmutableString("memoryBarrierAtomicCounter(").mangledNameHash());
     ASSERT_EQ(0x0000010cu, ImmutableString("memoryBarrierBuffer(").mangledNameHash());
     ASSERT_EQ(0x000008f6u, ImmutableString("memoryBarrierImage(").mangledNameHash());
-    ASSERT_EQ(0x000004e7u, ImmutableString("gl_MaxImageUnits").mangledNameHash());
-    ASSERT_EQ(0x000005d5u, ImmutableString("gl_MaxVertexImageUniforms").mangledNameHash());
+    ASSERT_EQ(0x000004eau, ImmutableString("gl_MaxImageUnits").mangledNameHash());
+    ASSERT_EQ(0x000005d7u, ImmutableString("gl_MaxVertexImageUniforms").mangledNameHash());
     ASSERT_EQ(0x00000166u, ImmutableString("gl_MaxFragmentImageUniforms").mangledNameHash());
     ASSERT_EQ(0x00000260u, ImmutableString("gl_MaxComputeImageUniforms").mangledNameHash());
-    ASSERT_EQ(0x000005b1u, ImmutableString("gl_MaxCombinedImageUniforms").mangledNameHash());
+    ASSERT_EQ(0x000005b3u, ImmutableString("gl_MaxCombinedImageUniforms").mangledNameHash());
     ASSERT_EQ(0x0000007fu,
               ImmutableString("gl_MaxCombinedShaderOutputResources").mangledNameHash());
     ASSERT_EQ(0x000002acu, ImmutableString("gl_MaxComputeWorkGroupCount").mangledNameHash());
-    ASSERT_EQ(0x0000050eu, ImmutableString("gl_MaxComputeWorkGroupSize").mangledNameHash());
-    ASSERT_EQ(0x00000729u, ImmutableString("gl_MaxComputeUniformComponents").mangledNameHash());
+    ASSERT_EQ(0x00000511u, ImmutableString("gl_MaxComputeWorkGroupSize").mangledNameHash());
+    ASSERT_EQ(0x0000072au, ImmutableString("gl_MaxComputeUniformComponents").mangledNameHash());
     ASSERT_EQ(0x000000afu, ImmutableString("gl_MaxComputeTextureImageUnits").mangledNameHash());
-    ASSERT_EQ(0x000006d2u, ImmutableString("gl_MaxComputeAtomicCounters").mangledNameHash());
+    ASSERT_EQ(0x000006d4u, ImmutableString("gl_MaxComputeAtomicCounters").mangledNameHash());
     ASSERT_EQ(0x000001ddu, ImmutableString("gl_MaxComputeAtomicCounterBuffers").mangledNameHash());
     ASSERT_EQ(0x00000188u, ImmutableString("gl_MaxVertexAtomicCounters").mangledNameHash());
     ASSERT_EQ(0x000001a8u, ImmutableString("gl_MaxFragmentAtomicCounters").mangledNameHash());
-    ASSERT_EQ(0x00000699u, ImmutableString("gl_MaxCombinedAtomicCounters").mangledNameHash());
+    ASSERT_EQ(0x0000069bu, ImmutableString("gl_MaxCombinedAtomicCounters").mangledNameHash());
     ASSERT_EQ(0x00000024u, ImmutableString("gl_MaxAtomicCounterBindings").mangledNameHash());
     ASSERT_EQ(0x0000029fu, ImmutableString("gl_MaxVertexAtomicCounterBuffers").mangledNameHash());
-    ASSERT_EQ(0x00000367u, ImmutableString("gl_MaxFragmentAtomicCounterBuffers").mangledNameHash());
+    ASSERT_EQ(0x00000368u, ImmutableString("gl_MaxFragmentAtomicCounterBuffers").mangledNameHash());
     ASSERT_EQ(0x000008a6u, ImmutableString("gl_MaxCombinedAtomicCounterBuffers").mangledNameHash());
     ASSERT_EQ(0x00000893u, ImmutableString("gl_MaxAtomicCounterBufferSize").mangledNameHash());
-    ASSERT_EQ(0x000007efu, ImmutableString("gl_MaxGeometryInputComponents").mangledNameHash());
-    ASSERT_EQ(0x0000035eu, ImmutableString("gl_MaxGeometryOutputComponents").mangledNameHash());
+    ASSERT_EQ(0x000007f0u, ImmutableString("gl_MaxGeometryInputComponents").mangledNameHash());
+    ASSERT_EQ(0x0000035fu, ImmutableString("gl_MaxGeometryOutputComponents").mangledNameHash());
     ASSERT_EQ(0x0000011bu, ImmutableString("gl_MaxGeometryImageUniforms").mangledNameHash());
-    ASSERT_EQ(0x0000042bu, ImmutableString("gl_MaxGeometryTextureImageUnits").mangledNameHash());
+    ASSERT_EQ(0x0000042du, ImmutableString("gl_MaxGeometryTextureImageUnits").mangledNameHash());
     ASSERT_EQ(0x0000009cu, ImmutableString("gl_MaxGeometryOutputVertices").mangledNameHash());
-    ASSERT_EQ(0x00000596u,
+    ASSERT_EQ(0x00000598u,
               ImmutableString("gl_MaxGeometryTotalOutputComponents").mangledNameHash());
     ASSERT_EQ(0x0000030eu, ImmutableString("gl_MaxGeometryUniformComponents").mangledNameHash());
-    ASSERT_EQ(0x00000821u, ImmutableString("gl_MaxGeometryAtomicCounters").mangledNameHash());
-    ASSERT_EQ(0x000007d9u, ImmutableString("gl_MaxGeometryAtomicCounterBuffers").mangledNameHash());
-    ASSERT_EQ(0x00000368u, ImmutableString("gl_in").mangledNameHash());
-    ASSERT_EQ(0x000007a2u, ImmutableString("barrier(").mangledNameHash());
+    ASSERT_EQ(0x00000822u, ImmutableString("gl_MaxGeometryAtomicCounters").mangledNameHash());
+    ASSERT_EQ(0x000007dau, ImmutableString("gl_MaxGeometryAtomicCounterBuffers").mangledNameHash());
+    ASSERT_EQ(0x00000369u, ImmutableString("gl_in").mangledNameHash());
+    ASSERT_EQ(0x000007a3u, ImmutableString("barrier(").mangledNameHash());
     ASSERT_EQ(0x000008e0u, ImmutableString("memoryBarrierShared(").mangledNameHash());
     ASSERT_EQ(0x0000004du, ImmutableString("groupMemoryBarrier(").mangledNameHash());
-    ASSERT_EQ(0x0000064fu, ImmutableString("gl_NumWorkGroups").mangledNameHash());
-    ASSERT_EQ(0x0000038fu, ImmutableString("gl_WorkGroupSize").mangledNameHash());
-    ASSERT_EQ(0x00000819u, ImmutableString("gl_WorkGroupID").mangledNameHash());
-    ASSERT_EQ(0x000007d6u, ImmutableString("gl_LocalInvocationID").mangledNameHash());
-    ASSERT_EQ(0x000005b5u, ImmutableString("gl_GlobalInvocationID").mangledNameHash());
+    ASSERT_EQ(0x00000651u, ImmutableString("gl_NumWorkGroups").mangledNameHash());
+    ASSERT_EQ(0x00000390u, ImmutableString("gl_WorkGroupSize").mangledNameHash());
+    ASSERT_EQ(0x0000081au, ImmutableString("gl_WorkGroupID").mangledNameHash());
+    ASSERT_EQ(0x000007d7u, ImmutableString("gl_LocalInvocationID").mangledNameHash());
+    ASSERT_EQ(0x000005b7u, ImmutableString("gl_GlobalInvocationID").mangledNameHash());
     ASSERT_EQ(0x000008a0u, ImmutableString("gl_LocalInvocationIndex").mangledNameHash());
     ASSERT_EQ(0x00000243u, ImmutableString("EmitVertex(").mangledNameHash());
-    ASSERT_EQ(0x000003d5u, ImmutableString("EndPrimitive(").mangledNameHash());
+    ASSERT_EQ(0x000003d7u, ImmutableString("EndPrimitive(").mangledNameHash());
     ASSERT_EQ(0x0000087au, ImmutableString("gl_PrimitiveIDIn").mangledNameHash());
     ASSERT_EQ(0x000000d6u, ImmutableString("gl_InvocationID").mangledNameHash());
-    ASSERT_EQ(0x000006f7u, ImmutableString("gl_PrimitiveID").mangledNameHash());
-    ASSERT_EQ(0x000006fcu, ImmutableString("gl_Layer").mangledNameHash());
-    ASSERT_EQ(0x0000038bu, ImmutableString("gl_PerVertex").mangledNameHash());
-    ASSERT_EQ(0x00000434u, ImmutableString("gl_Position").mangledNameHash());
+    ASSERT_EQ(0x000006f8u, ImmutableString("gl_PrimitiveID").mangledNameHash());
+    ASSERT_EQ(0x000006fdu, ImmutableString("gl_Layer").mangledNameHash());
+    ASSERT_EQ(0x0000038cu, ImmutableString("gl_PerVertex").mangledNameHash());
+    ASSERT_EQ(0x00000436u, ImmutableString("gl_Position").mangledNameHash());
     ASSERT_EQ(0x00000236u, ImmutableString("sinh(00B").mangledNameHash());
     ASSERT_EQ(0x000008dau, ImmutableString("sinh(10B").mangledNameHash());
-    ASSERT_EQ(0x00000388u, ImmutableString("sinh(20B").mangledNameHash());
+    ASSERT_EQ(0x00000389u, ImmutableString("sinh(20B").mangledNameHash());
     ASSERT_EQ(0x000002f4u, ImmutableString("sinh(30B").mangledNameHash());
-    ASSERT_EQ(0x00000643u, ImmutableString("cosh(00B").mangledNameHash());
+    ASSERT_EQ(0x00000645u, ImmutableString("cosh(00B").mangledNameHash());
     ASSERT_EQ(0x000008cau, ImmutableString("cosh(10B").mangledNameHash());
     ASSERT_EQ(0x00000066u, ImmutableString("cosh(20B").mangledNameHash());
-    ASSERT_EQ(0x00000623u, ImmutableString("cosh(30B").mangledNameHash());
-    ASSERT_EQ(0x00000724u, ImmutableString("tanh(00B").mangledNameHash());
-    ASSERT_EQ(0x000007d1u, ImmutableString("tanh(10B").mangledNameHash());
+    ASSERT_EQ(0x00000625u, ImmutableString("cosh(30B").mangledNameHash());
+    ASSERT_EQ(0x00000725u, ImmutableString("tanh(00B").mangledNameHash());
+    ASSERT_EQ(0x000007d2u, ImmutableString("tanh(10B").mangledNameHash());
     ASSERT_EQ(0x00000886u, ImmutableString("tanh(20B").mangledNameHash());
     ASSERT_EQ(0x0000000au, ImmutableString("tanh(30B").mangledNameHash());
     ASSERT_EQ(0x00000879u, ImmutableString("asinh(00B").mangledNameHash());
     ASSERT_EQ(0x0000091fu, ImmutableString("asinh(10B").mangledNameHash());
     ASSERT_EQ(0x000002f7u, ImmutableString("asinh(20B").mangledNameHash());
-    ASSERT_EQ(0x00000390u, ImmutableString("asinh(30B").mangledNameHash());
+    ASSERT_EQ(0x00000391u, ImmutableString("asinh(30B").mangledNameHash());
     ASSERT_EQ(0x000000f4u, ImmutableString("acosh(00B").mangledNameHash());
-    ASSERT_EQ(0x0000075au, ImmutableString("acosh(10B").mangledNameHash());
+    ASSERT_EQ(0x0000075bu, ImmutableString("acosh(10B").mangledNameHash());
     ASSERT_EQ(0x00000272u, ImmutableString("acosh(20B").mangledNameHash());
     ASSERT_EQ(0x000001bcu, ImmutableString("acosh(30B").mangledNameHash());
     ASSERT_EQ(0x00000068u, ImmutableString("atanh(00B").mangledNameHash());
     ASSERT_EQ(0x00000273u, ImmutableString("atanh(10B").mangledNameHash());
-    ASSERT_EQ(0x00000665u, ImmutableString("atanh(20B").mangledNameHash());
-    ASSERT_EQ(0x000005a6u, ImmutableString("atanh(30B").mangledNameHash());
-    ASSERT_EQ(0x000003c8u, ImmutableString("abs(00D").mangledNameHash());
+    ASSERT_EQ(0x00000667u, ImmutableString("atanh(20B").mangledNameHash());
+    ASSERT_EQ(0x000005a8u, ImmutableString("atanh(30B").mangledNameHash());
+    ASSERT_EQ(0x000003cau, ImmutableString("abs(00D").mangledNameHash());
     ASSERT_EQ(0x00000330u, ImmutableString("abs(10D").mangledNameHash());
     ASSERT_EQ(0x00000291u, ImmutableString("abs(20D").mangledNameHash());
     ASSERT_EQ(0x000008b9u, ImmutableString("abs(30D").mangledNameHash());
-    ASSERT_EQ(0x00000648u, ImmutableString("sign(00D").mangledNameHash());
+    ASSERT_EQ(0x0000064au, ImmutableString("sign(00D").mangledNameHash());
     ASSERT_EQ(0x000008ceu, ImmutableString("sign(10D").mangledNameHash());
     ASSERT_EQ(0x00000067u, ImmutableString("sign(20D").mangledNameHash());
     ASSERT_EQ(0x00000106u, ImmutableString("sign(30D").mangledNameHash());
-    ASSERT_EQ(0x00000782u, ImmutableString("trunc(00B").mangledNameHash());
-    ASSERT_EQ(0x000006d0u, ImmutableString("trunc(10B").mangledNameHash());
+    ASSERT_EQ(0x00000783u, ImmutableString("trunc(00B").mangledNameHash());
+    ASSERT_EQ(0x000006d2u, ImmutableString("trunc(10B").mangledNameHash());
     ASSERT_EQ(0x000008e7u, ImmutableString("trunc(20B").mangledNameHash());
-    ASSERT_EQ(0x00000831u, ImmutableString("trunc(30B").mangledNameHash());
+    ASSERT_EQ(0x00000832u, ImmutableString("trunc(30B").mangledNameHash());
     ASSERT_EQ(0x00000092u, ImmutableString("round(00B").mangledNameHash());
     ASSERT_EQ(0x000008f8u, ImmutableString("round(10B").mangledNameHash());
-    ASSERT_EQ(0x00000853u, ImmutableString("round(20B").mangledNameHash());
+    ASSERT_EQ(0x000003d9u, ImmutableString("round(20B").mangledNameHash());
     ASSERT_EQ(0x000008cbu, ImmutableString("round(30B").mangledNameHash());
-    ASSERT_EQ(0x00000663u, ImmutableString("roundEven(00B").mangledNameHash());
-    ASSERT_EQ(0x000005a4u, ImmutableString("roundEven(10B").mangledNameHash());
+    ASSERT_EQ(0x00000665u, ImmutableString("roundEven(00B").mangledNameHash());
+    ASSERT_EQ(0x000005a6u, ImmutableString("roundEven(10B").mangledNameHash());
     ASSERT_EQ(0x0000031cu, ImmutableString("roundEven(20B").mangledNameHash());
     ASSERT_EQ(0x00000270u, ImmutableString("roundEven(30B").mangledNameHash());
     ASSERT_EQ(0x0000020au, ImmutableString("min(00D00D").mangledNameHash());
-    ASSERT_EQ(0x000004bdu, ImmutableString("min(10D10D").mangledNameHash());
+    ASSERT_EQ(0x000004c0u, ImmutableString("min(10D10D").mangledNameHash());
     ASSERT_EQ(0x0000087fu, ImmutableString("min(20D20D").mangledNameHash());
     ASSERT_EQ(0x0000086cu, ImmutableString("min(30D30D").mangledNameHash());
-    ASSERT_EQ(0x000003efu, ImmutableString("min(10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000719u, ImmutableString("min(20D00D").mangledNameHash());
+    ASSERT_EQ(0x000003f1u, ImmutableString("min(10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000071au, ImmutableString("min(20D00D").mangledNameHash());
     ASSERT_EQ(0x0000090eu, ImmutableString("min(30D00D").mangledNameHash());
-    ASSERT_EQ(0x000003a6u, ImmutableString("min(00E00E").mangledNameHash());
+    ASSERT_EQ(0x000003a8u, ImmutableString("min(00E00E").mangledNameHash());
     ASSERT_EQ(0x000008f5u, ImmutableString("min(10E10E").mangledNameHash());
-    ASSERT_EQ(0x00000703u, ImmutableString("min(20E20E").mangledNameHash());
-    ASSERT_EQ(0x00000810u, ImmutableString("min(30E30E").mangledNameHash());
+    ASSERT_EQ(0x00000704u, ImmutableString("min(20E20E").mangledNameHash());
+    ASSERT_EQ(0x00000811u, ImmutableString("min(30E30E").mangledNameHash());
     ASSERT_EQ(0x0000008du, ImmutableString("min(10E00E").mangledNameHash());
-    ASSERT_EQ(0x0000083du, ImmutableString("min(20E00E").mangledNameHash());
-    ASSERT_EQ(0x00000592u, ImmutableString("min(30E00E").mangledNameHash());
+    ASSERT_EQ(0x0000083eu, ImmutableString("min(20E00E").mangledNameHash());
+    ASSERT_EQ(0x00000594u, ImmutableString("min(30E00E").mangledNameHash());
     ASSERT_EQ(0x00000326u, ImmutableString("max(00D00D").mangledNameHash());
-    ASSERT_EQ(0x000005f9u, ImmutableString("max(10D10D").mangledNameHash());
-    ASSERT_EQ(0x000005f8u, ImmutableString("max(20D20D").mangledNameHash());
-    ASSERT_EQ(0x0000042au, ImmutableString("max(30D30D").mangledNameHash());
-    ASSERT_EQ(0x00000552u, ImmutableString("max(10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000076bu, ImmutableString("max(20D00D").mangledNameHash());
+    ASSERT_EQ(0x000005fbu, ImmutableString("max(10D10D").mangledNameHash());
+    ASSERT_EQ(0x000005fau, ImmutableString("max(20D20D").mangledNameHash());
+    ASSERT_EQ(0x0000042cu, ImmutableString("max(30D30D").mangledNameHash());
+    ASSERT_EQ(0x00000555u, ImmutableString("max(10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000076cu, ImmutableString("max(20D00D").mangledNameHash());
     ASSERT_EQ(0x0000004cu, ImmutableString("max(30D00D").mangledNameHash());
-    ASSERT_EQ(0x000006ddu, ImmutableString("max(00E00E").mangledNameHash());
+    ASSERT_EQ(0x000006dfu, ImmutableString("max(00E00E").mangledNameHash());
     ASSERT_EQ(0x000000bbu, ImmutableString("max(10E10E").mangledNameHash());
     ASSERT_EQ(0x0000032du, ImmutableString("max(20E20E").mangledNameHash());
-    ASSERT_EQ(0x00000366u, ImmutableString("max(30E30E").mangledNameHash());
-    ASSERT_EQ(0x00000382u, ImmutableString("max(10E00E").mangledNameHash());
+    ASSERT_EQ(0x00000367u, ImmutableString("max(30E30E").mangledNameHash());
+    ASSERT_EQ(0x00000383u, ImmutableString("max(10E00E").mangledNameHash());
     ASSERT_EQ(0x000001cbu, ImmutableString("max(20E00E").mangledNameHash());
-    ASSERT_EQ(0x000007bbu, ImmutableString("max(30E00E").mangledNameHash());
-    ASSERT_EQ(0x00000555u, ImmutableString("clamp(00D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000007bcu, ImmutableString("max(30E00E").mangledNameHash());
+    ASSERT_EQ(0x00000558u, ImmutableString("clamp(00D00D00D").mangledNameHash());
     ASSERT_EQ(0x0000025fu, ImmutableString("clamp(10D00D00D").mangledNameHash());
     ASSERT_EQ(0x0000010fu, ImmutableString("clamp(20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000047du, ImmutableString("clamp(30D00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000750u, ImmutableString("clamp(10D10D10D").mangledNameHash());
-    ASSERT_EQ(0x0000037du, ImmutableString("clamp(20D20D20D").mangledNameHash());
-    ASSERT_EQ(0x00000676u, ImmutableString("clamp(30D30D30D").mangledNameHash());
+    ASSERT_EQ(0x00000480u, ImmutableString("clamp(30D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000751u, ImmutableString("clamp(10D10D10D").mangledNameHash());
+    ASSERT_EQ(0x0000037eu, ImmutableString("clamp(20D20D20D").mangledNameHash());
+    ASSERT_EQ(0x00000678u, ImmutableString("clamp(30D30D30D").mangledNameHash());
     ASSERT_EQ(0x0000026au, ImmutableString("clamp(00E00E00E").mangledNameHash());
-    ASSERT_EQ(0x00000666u, ImmutableString("clamp(10E00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000668u, ImmutableString("clamp(10E00E00E").mangledNameHash());
     ASSERT_EQ(0x000008c4u, ImmutableString("clamp(20E00E00E").mangledNameHash());
     ASSERT_EQ(0x00000175u, ImmutableString("clamp(30E00E00E").mangledNameHash());
     ASSERT_EQ(0x000000bdu, ImmutableString("clamp(10E10E10E").mangledNameHash());
     ASSERT_EQ(0x000002d9u, ImmutableString("clamp(20E20E20E").mangledNameHash());
-    ASSERT_EQ(0x00000757u, ImmutableString("clamp(30E30E30E").mangledNameHash());
+    ASSERT_EQ(0x00000758u, ImmutableString("clamp(30E30E30E").mangledNameHash());
     ASSERT_EQ(0x0000029au, ImmutableString("mix(00B00B00F").mangledNameHash());
-    ASSERT_EQ(0x000005bdu, ImmutableString("mix(10B10B10F").mangledNameHash());
+    ASSERT_EQ(0x000005bfu, ImmutableString("mix(10B10B10F").mangledNameHash());
     ASSERT_EQ(0x00000187u, ImmutableString("mix(20B20B20F").mangledNameHash());
-    ASSERT_EQ(0x00000421u, ImmutableString("mix(30B30B30F").mangledNameHash());
-    ASSERT_EQ(0x00000498u, ImmutableString("modf(00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000423u, ImmutableString("mix(30B30B30F").mangledNameHash());
+    ASSERT_EQ(0x0000049bu, ImmutableString("modf(00B00B").mangledNameHash());
     ASSERT_EQ(0x0000005du, ImmutableString("modf(10B10B").mangledNameHash());
-    ASSERT_EQ(0x0000060eu, ImmutableString("modf(20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000610u, ImmutableString("modf(20B20B").mangledNameHash());
     ASSERT_EQ(0x0000031au, ImmutableString("modf(30B30B").mangledNameHash());
-    ASSERT_EQ(0x0000039fu, ImmutableString("isnan(00B").mangledNameHash());
-    ASSERT_EQ(0x00000471u, ImmutableString("isnan(10B").mangledNameHash());
-    ASSERT_EQ(0x000007b5u, ImmutableString("isnan(20B").mangledNameHash());
-    ASSERT_EQ(0x000004a7u, ImmutableString("isnan(30B").mangledNameHash());
+    ASSERT_EQ(0x000003a0u, ImmutableString("isnan(00B").mangledNameHash());
+    ASSERT_EQ(0x00000474u, ImmutableString("isnan(10B").mangledNameHash());
+    ASSERT_EQ(0x000007b6u, ImmutableString("isnan(20B").mangledNameHash());
+    ASSERT_EQ(0x000004aau, ImmutableString("isnan(30B").mangledNameHash());
     ASSERT_EQ(0x0000010du, ImmutableString("isinf(00B").mangledNameHash());
     ASSERT_EQ(0x000001d0u, ImmutableString("isinf(10B").mangledNameHash());
     ASSERT_EQ(0x000008f2u, ImmutableString("isinf(20B").mangledNameHash());
     ASSERT_EQ(0x00000087u, ImmutableString("isinf(30B").mangledNameHash());
-    ASSERT_EQ(0x00000482u, ImmutableString("floatBitsToInt(00B").mangledNameHash());
-    ASSERT_EQ(0x000003afu, ImmutableString("floatBitsToInt(10B").mangledNameHash());
+    ASSERT_EQ(0x00000485u, ImmutableString("floatBitsToInt(00B").mangledNameHash());
+    ASSERT_EQ(0x000003b1u, ImmutableString("floatBitsToInt(10B").mangledNameHash());
     ASSERT_EQ(0x00000324u, ImmutableString("floatBitsToInt(20B").mangledNameHash());
     ASSERT_EQ(0x0000027bu, ImmutableString("floatBitsToInt(30B").mangledNameHash());
-    ASSERT_EQ(0x00000485u, ImmutableString("floatBitsToUint(00B").mangledNameHash());
-    ASSERT_EQ(0x00000507u, ImmutableString("floatBitsToUint(10B").mangledNameHash());
+    ASSERT_EQ(0x00000488u, ImmutableString("floatBitsToUint(00B").mangledNameHash());
+    ASSERT_EQ(0x0000050au, ImmutableString("floatBitsToUint(10B").mangledNameHash());
     ASSERT_EQ(0x00000038u, ImmutableString("floatBitsToUint(20B").mangledNameHash());
-    ASSERT_EQ(0x000003b6u, ImmutableString("floatBitsToUint(30B").mangledNameHash());
+    ASSERT_EQ(0x000003b8u, ImmutableString("floatBitsToUint(30B").mangledNameHash());
     ASSERT_EQ(0x000008b0u, ImmutableString("intBitsToFloat(00D").mangledNameHash());
-    ASSERT_EQ(0x000007f9u, ImmutableString("intBitsToFloat(10D").mangledNameHash());
+    ASSERT_EQ(0x000007fau, ImmutableString("intBitsToFloat(10D").mangledNameHash());
     ASSERT_EQ(0x000000f0u, ImmutableString("intBitsToFloat(20D").mangledNameHash());
     ASSERT_EQ(0x00000052u, ImmutableString("intBitsToFloat(30D").mangledNameHash());
-    ASSERT_EQ(0x0000071bu, ImmutableString("uintBitsToFloat(00E").mangledNameHash());
-    ASSERT_EQ(0x000007c5u, ImmutableString("uintBitsToFloat(10E").mangledNameHash());
+    ASSERT_EQ(0x0000071cu, ImmutableString("uintBitsToFloat(00E").mangledNameHash());
+    ASSERT_EQ(0x000007c6u, ImmutableString("uintBitsToFloat(10E").mangledNameHash());
     ASSERT_EQ(0x0000089du, ImmutableString("uintBitsToFloat(20E").mangledNameHash());
     ASSERT_EQ(0x00000020u, ImmutableString("uintBitsToFloat(30E").mangledNameHash());
-    ASSERT_EQ(0x000003b5u, ImmutableString("packSnorm2x16(10B").mangledNameHash());
-    ASSERT_EQ(0x000003f9u, ImmutableString("packHalf2x16(10B").mangledNameHash());
-    ASSERT_EQ(0x0000082au, ImmutableString("unpackSnorm2x16(00E").mangledNameHash());
+    ASSERT_EQ(0x000003b7u, ImmutableString("packSnorm2x16(10B").mangledNameHash());
+    ASSERT_EQ(0x000003fbu, ImmutableString("packHalf2x16(10B").mangledNameHash());
+    ASSERT_EQ(0x0000082bu, ImmutableString("unpackSnorm2x16(00E").mangledNameHash());
     ASSERT_EQ(0x000000aau, ImmutableString("unpackHalf2x16(00E").mangledNameHash());
     ASSERT_EQ(0x000001c1u, ImmutableString("packUnorm2x16(10B").mangledNameHash());
-    ASSERT_EQ(0x000004e0u, ImmutableString("unpackUnorm2x16(00E").mangledNameHash());
+    ASSERT_EQ(0x000004e3u, ImmutableString("unpackUnorm2x16(00E").mangledNameHash());
     ASSERT_EQ(0x00000170u, ImmutableString("matrixCompMult(90B90B").mangledNameHash());
-    ASSERT_EQ(0x00000826u, ImmutableString("matrixCompMult(60B60B").mangledNameHash());
-    ASSERT_EQ(0x00000727u, ImmutableString("matrixCompMult(D0BD0B").mangledNameHash());
-    ASSERT_EQ(0x000007c7u, ImmutableString("matrixCompMult(70B70B").mangledNameHash());
-    ASSERT_EQ(0x00000389u, ImmutableString("matrixCompMult(E0BE0B").mangledNameHash());
-    ASSERT_EQ(0x00000631u, ImmutableString("matrixCompMult(B0BB0B").mangledNameHash());
+    ASSERT_EQ(0x00000827u, ImmutableString("matrixCompMult(60B60B").mangledNameHash());
+    ASSERT_EQ(0x00000728u, ImmutableString("matrixCompMult(D0BD0B").mangledNameHash());
+    ASSERT_EQ(0x000007c8u, ImmutableString("matrixCompMult(70B70B").mangledNameHash());
+    ASSERT_EQ(0x0000038au, ImmutableString("matrixCompMult(E0BE0B").mangledNameHash());
+    ASSERT_EQ(0x00000633u, ImmutableString("matrixCompMult(B0BB0B").mangledNameHash());
     ASSERT_EQ(0x000000adu, ImmutableString("outerProduct(10B10B").mangledNameHash());
     ASSERT_EQ(0x000000cau, ImmutableString("outerProduct(20B20B").mangledNameHash());
     ASSERT_EQ(0x000001b0u, ImmutableString("outerProduct(30B30B").mangledNameHash());
-    ASSERT_EQ(0x000007deu, ImmutableString("outerProduct(20B10B").mangledNameHash());
+    ASSERT_EQ(0x000007dfu, ImmutableString("outerProduct(20B10B").mangledNameHash());
     ASSERT_EQ(0x000000a6u, ImmutableString("outerProduct(10B20B").mangledNameHash());
     ASSERT_EQ(0x0000031du, ImmutableString("outerProduct(30B10B").mangledNameHash());
     ASSERT_EQ(0x0000015cu, ImmutableString("outerProduct(10B30B").mangledNameHash());
     ASSERT_EQ(0x000000fbu, ImmutableString("outerProduct(30B20B").mangledNameHash());
     ASSERT_EQ(0x00000015u, ImmutableString("outerProduct(20B30B").mangledNameHash());
     ASSERT_EQ(0x00000877u, ImmutableString("transpose(50B").mangledNameHash());
-    ASSERT_EQ(0x0000067fu, ImmutableString("transpose(A0B").mangledNameHash());
-    ASSERT_EQ(0x00000753u, ImmutableString("transpose(F0B").mangledNameHash());
-    ASSERT_EQ(0x0000064au, ImmutableString("transpose(60B").mangledNameHash());
-    ASSERT_EQ(0x00000766u, ImmutableString("transpose(90B").mangledNameHash());
-    ASSERT_EQ(0x0000070fu, ImmutableString("transpose(70B").mangledNameHash());
+    ASSERT_EQ(0x00000681u, ImmutableString("transpose(A0B").mangledNameHash());
+    ASSERT_EQ(0x00000754u, ImmutableString("transpose(F0B").mangledNameHash());
+    ASSERT_EQ(0x0000064cu, ImmutableString("transpose(60B").mangledNameHash());
+    ASSERT_EQ(0x00000767u, ImmutableString("transpose(90B").mangledNameHash());
+    ASSERT_EQ(0x00000710u, ImmutableString("transpose(70B").mangledNameHash());
     ASSERT_EQ(0x000008bau, ImmutableString("transpose(D0B").mangledNameHash());
     ASSERT_EQ(0x000001ecu, ImmutableString("transpose(B0B").mangledNameHash());
     ASSERT_EQ(0x00000055u, ImmutableString("transpose(E0B").mangledNameHash());
     ASSERT_EQ(0x00000060u, ImmutableString("determinant(50B").mangledNameHash());
-    ASSERT_EQ(0x000004a1u, ImmutableString("determinant(A0B").mangledNameHash());
-    ASSERT_EQ(0x0000067eu, ImmutableString("determinant(F0B").mangledNameHash());
+    ASSERT_EQ(0x000004a4u, ImmutableString("determinant(A0B").mangledNameHash());
+    ASSERT_EQ(0x00000680u, ImmutableString("determinant(F0B").mangledNameHash());
     ASSERT_EQ(0x000002ffu, ImmutableString("inverse(50B").mangledNameHash());
-    ASSERT_EQ(0x000005c9u, ImmutableString("inverse(A0B").mangledNameHash());
+    ASSERT_EQ(0x000005cbu, ImmutableString("inverse(A0B").mangledNameHash());
     ASSERT_EQ(0x00000131u, ImmutableString("inverse(F0B").mangledNameHash());
     ASSERT_EQ(0x00000077u, ImmutableString("lessThan(10E10E").mangledNameHash());
-    ASSERT_EQ(0x0000063fu, ImmutableString("lessThan(20E20E").mangledNameHash());
-    ASSERT_EQ(0x0000070du, ImmutableString("lessThan(30E30E").mangledNameHash());
+    ASSERT_EQ(0x00000641u, ImmutableString("lessThan(20E20E").mangledNameHash());
+    ASSERT_EQ(0x0000070eu, ImmutableString("lessThan(30E30E").mangledNameHash());
     ASSERT_EQ(0x0000017cu, ImmutableString("lessThanEqual(10E10E").mangledNameHash());
     ASSERT_EQ(0x00000895u, ImmutableString("lessThanEqual(20E20E").mangledNameHash());
     ASSERT_EQ(0x0000008cu, ImmutableString("lessThanEqual(30E30E").mangledNameHash());
@@ -623,25 +623,25 @@
     ASSERT_EQ(0x00000026u, ImmutableString("greaterThanEqual(10E10E").mangledNameHash());
     ASSERT_EQ(0x0000030fu, ImmutableString("greaterThanEqual(20E20E").mangledNameHash());
     ASSERT_EQ(0x00000186u, ImmutableString("greaterThanEqual(30E30E").mangledNameHash());
-    ASSERT_EQ(0x000006b7u, ImmutableString("equal(10E10E").mangledNameHash());
+    ASSERT_EQ(0x000006b9u, ImmutableString("equal(10E10E").mangledNameHash());
     ASSERT_EQ(0x00000169u, ImmutableString("equal(20E20E").mangledNameHash());
-    ASSERT_EQ(0x000003d8u, ImmutableString("equal(30E30E").mangledNameHash());
-    ASSERT_EQ(0x000006c0u, ImmutableString("notEqual(10E10E").mangledNameHash());
-    ASSERT_EQ(0x000005c7u, ImmutableString("notEqual(20E20E").mangledNameHash());
-    ASSERT_EQ(0x000004eeu, ImmutableString("notEqual(30E30E").mangledNameHash());
-    ASSERT_EQ(0x000004ebu, ImmutableString("texture(00O10B").mangledNameHash());
+    ASSERT_EQ(0x000003dau, ImmutableString("equal(30E30E").mangledNameHash());
+    ASSERT_EQ(0x000006c2u, ImmutableString("notEqual(10E10E").mangledNameHash());
+    ASSERT_EQ(0x000005c9u, ImmutableString("notEqual(20E20E").mangledNameHash());
+    ASSERT_EQ(0x000004f1u, ImmutableString("notEqual(30E30E").mangledNameHash());
+    ASSERT_EQ(0x000004eeu, ImmutableString("texture(00O10B").mangledNameHash());
     ASSERT_EQ(0x000002fcu, ImmutableString("textureProj(00O20B").mangledNameHash());
-    ASSERT_EQ(0x00000397u, ImmutableString("textureProj(00O30B").mangledNameHash());
+    ASSERT_EQ(0x00000398u, ImmutableString("textureProj(00O30B").mangledNameHash());
     ASSERT_EQ(0x0000012cu, ImmutableString("texture(00I10B").mangledNameHash());
     ASSERT_EQ(0x00000196u, ImmutableString("texture(00R10B").mangledNameHash());
     ASSERT_EQ(0x0000085fu, ImmutableString("texture(00X10B").mangledNameHash());
-    ASSERT_EQ(0x000006a1u, ImmutableString("texture(00J20B").mangledNameHash());
+    ASSERT_EQ(0x000006a3u, ImmutableString("texture(00J20B").mangledNameHash());
     ASSERT_EQ(0x000000fcu, ImmutableString("texture(00S20B").mangledNameHash());
     ASSERT_EQ(0x000002beu, ImmutableString("texture(00Y20B").mangledNameHash());
     ASSERT_EQ(0x000008d9u, ImmutableString("texture(00K20B").mangledNameHash());
-    ASSERT_EQ(0x00000744u, ImmutableString("texture(00T20B").mangledNameHash());
+    ASSERT_EQ(0x00000745u, ImmutableString("texture(00T20B").mangledNameHash());
     ASSERT_EQ(0x000008d7u, ImmutableString("texture(00Z20B").mangledNameHash());
-    ASSERT_EQ(0x000007a1u, ImmutableString("texture(00L20B").mangledNameHash());
+    ASSERT_EQ(0x000007a2u, ImmutableString("texture(00L20B").mangledNameHash());
     ASSERT_EQ(0x00000095u, ImmutableString("texture(00U20B").mangledNameHash());
     ASSERT_EQ(0x000008d1u, ImmutableString("texture(00a20B").mangledNameHash());
     ASSERT_EQ(0x00000027u, ImmutableString("texture(00d20B").mangledNameHash());
@@ -658,152 +658,152 @@
     ASSERT_EQ(0x0000010au, ImmutableString("textureProj(00Y30B").mangledNameHash());
     ASSERT_EQ(0x000008c5u, ImmutableString("textureProj(00d30B").mangledNameHash());
     ASSERT_EQ(0x000000e5u, ImmutableString("textureLod(00I10B00B").mangledNameHash());
-    ASSERT_EQ(0x000003cbu, ImmutableString("textureLod(00R10B00B").mangledNameHash());
-    ASSERT_EQ(0x00000640u, ImmutableString("textureLod(00X10B00B").mangledNameHash());
-    ASSERT_EQ(0x00000508u, ImmutableString("textureLod(00J20B00B").mangledNameHash());
-    ASSERT_EQ(0x0000041au, ImmutableString("textureLod(00S20B00B").mangledNameHash());
-    ASSERT_EQ(0x00000716u, ImmutableString("textureLod(00Y20B00B").mangledNameHash());
-    ASSERT_EQ(0x000005a7u, ImmutableString("textureLod(00K20B00B").mangledNameHash());
-    ASSERT_EQ(0x0000078cu, ImmutableString("textureLod(00T20B00B").mangledNameHash());
-    ASSERT_EQ(0x00000647u, ImmutableString("textureLod(00Z20B00B").mangledNameHash());
+    ASSERT_EQ(0x000003cdu, ImmutableString("textureLod(00R10B00B").mangledNameHash());
+    ASSERT_EQ(0x00000642u, ImmutableString("textureLod(00X10B00B").mangledNameHash());
+    ASSERT_EQ(0x0000050bu, ImmutableString("textureLod(00J20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000041cu, ImmutableString("textureLod(00S20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000717u, ImmutableString("textureLod(00Y20B00B").mangledNameHash());
+    ASSERT_EQ(0x000005a9u, ImmutableString("textureLod(00K20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000078du, ImmutableString("textureLod(00T20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000649u, ImmutableString("textureLod(00Z20B00B").mangledNameHash());
     ASSERT_EQ(0x00000261u, ImmutableString("textureLod(00L20B00B").mangledNameHash());
     ASSERT_EQ(0x0000022bu, ImmutableString("textureLod(00U20B00B").mangledNameHash());
-    ASSERT_EQ(0x000003b0u, ImmutableString("textureLod(00a20B00B").mangledNameHash());
-    ASSERT_EQ(0x000007bcu, ImmutableString("textureLod(00d20B00B").mangledNameHash());
-    ASSERT_EQ(0x0000050du, ImmutableString("textureSize(00I00D").mangledNameHash());
-    ASSERT_EQ(0x00000758u, ImmutableString("textureSize(00R00D").mangledNameHash());
-    ASSERT_EQ(0x0000047au, ImmutableString("textureSize(00X00D").mangledNameHash());
-    ASSERT_EQ(0x000007e2u, ImmutableString("textureSize(00J00D").mangledNameHash());
+    ASSERT_EQ(0x000003b2u, ImmutableString("textureLod(00a20B00B").mangledNameHash());
+    ASSERT_EQ(0x000007bdu, ImmutableString("textureLod(00d20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000510u, ImmutableString("textureSize(00I00D").mangledNameHash());
+    ASSERT_EQ(0x00000759u, ImmutableString("textureSize(00R00D").mangledNameHash());
+    ASSERT_EQ(0x0000047du, ImmutableString("textureSize(00X00D").mangledNameHash());
+    ASSERT_EQ(0x000007e3u, ImmutableString("textureSize(00J00D").mangledNameHash());
     ASSERT_EQ(0x000001feu, ImmutableString("textureSize(00S00D").mangledNameHash());
-    ASSERT_EQ(0x000005ccu, ImmutableString("textureSize(00Y00D").mangledNameHash());
+    ASSERT_EQ(0x000005ceu, ImmutableString("textureSize(00Y00D").mangledNameHash());
     ASSERT_EQ(0x00000022u, ImmutableString("textureSize(00K00D").mangledNameHash());
     ASSERT_EQ(0x0000021bu, ImmutableString("textureSize(00T00D").mangledNameHash());
     ASSERT_EQ(0x000008a9u, ImmutableString("textureSize(00Z00D").mangledNameHash());
     ASSERT_EQ(0x000001c9u, ImmutableString("textureSize(00L00D").mangledNameHash());
-    ASSERT_EQ(0x000005afu, ImmutableString("textureSize(00U00D").mangledNameHash());
+    ASSERT_EQ(0x000005b1u, ImmutableString("textureSize(00U00D").mangledNameHash());
     ASSERT_EQ(0x000001f6u, ImmutableString("textureSize(00a00D").mangledNameHash());
-    ASSERT_EQ(0x000006a5u, ImmutableString("textureSize(00d00D").mangledNameHash());
+    ASSERT_EQ(0x000006a7u, ImmutableString("textureSize(00d00D").mangledNameHash());
     ASSERT_EQ(0x00000121u, ImmutableString("textureSize(00e00D").mangledNameHash());
     ASSERT_EQ(0x000001deu, ImmutableString("textureSize(00f00D").mangledNameHash());
-    ASSERT_EQ(0x00000740u, ImmutableString("textureProjLod(00I20B00B").mangledNameHash());
-    ASSERT_EQ(0x0000051fu, ImmutableString("textureProjLod(00R20B00B").mangledNameHash());
-    ASSERT_EQ(0x00000857u, ImmutableString("textureProjLod(00X20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000741u, ImmutableString("textureProjLod(00I20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000522u, ImmutableString("textureProjLod(00R20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000858u, ImmutableString("textureProjLod(00X20B00B").mangledNameHash());
     ASSERT_EQ(0x00000119u, ImmutableString("textureProjLod(00I30B00B").mangledNameHash());
-    ASSERT_EQ(0x00000376u, ImmutableString("textureProjLod(00R30B00B").mangledNameHash());
-    ASSERT_EQ(0x00000621u, ImmutableString("textureProjLod(00X30B00B").mangledNameHash());
-    ASSERT_EQ(0x00000763u, ImmutableString("textureProjLod(00J30B00B").mangledNameHash());
-    ASSERT_EQ(0x00000440u, ImmutableString("textureProjLod(00S30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000377u, ImmutableString("textureProjLod(00R30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000623u, ImmutableString("textureProjLod(00X30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000764u, ImmutableString("textureProjLod(00J30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000442u, ImmutableString("textureProjLod(00S30B00B").mangledNameHash());
     ASSERT_EQ(0x000001e6u, ImmutableString("textureProjLod(00Y30B00B").mangledNameHash());
     ASSERT_EQ(0x000002e4u, ImmutableString("textureProjLod(00d30B00B").mangledNameHash());
     ASSERT_EQ(0x00000053u, ImmutableString("texelFetch(00I10D00D").mangledNameHash());
     ASSERT_EQ(0x00000205u, ImmutableString("texelFetch(00R10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000407u, ImmutableString("texelFetch(00X10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000409u, ImmutableString("texelFetch(00X10D00D").mangledNameHash());
     ASSERT_EQ(0x00000247u, ImmutableString("texelFetch(00J20D00D").mangledNameHash());
     ASSERT_EQ(0x00000872u, ImmutableString("texelFetch(00S20D00D").mangledNameHash());
     ASSERT_EQ(0x000000feu, ImmutableString("texelFetch(00Y20D00D").mangledNameHash());
-    ASSERT_EQ(0x000005aau, ImmutableString("texelFetch(00L20D00D").mangledNameHash());
+    ASSERT_EQ(0x000005acu, ImmutableString("texelFetch(00L20D00D").mangledNameHash());
     ASSERT_EQ(0x00000325u, ImmutableString("texelFetch(00U20D00D").mangledNameHash());
     ASSERT_EQ(0x00000123u, ImmutableString("texelFetch(00a20D00D").mangledNameHash());
-    ASSERT_EQ(0x000004aeu, ImmutableString("textureGrad(00I10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000004b1u, ImmutableString("textureGrad(00I10B10B10B").mangledNameHash());
     ASSERT_EQ(0x00000208u, ImmutableString("textureGrad(00R10B10B10B").mangledNameHash());
     ASSERT_EQ(0x00000185u, ImmutableString("textureGrad(00X10B10B10B").mangledNameHash());
-    ASSERT_EQ(0x000007f5u, ImmutableString("textureGrad(00J20B20B20B").mangledNameHash());
-    ASSERT_EQ(0x00000793u, ImmutableString("textureGrad(00S20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x000007f6u, ImmutableString("textureGrad(00J20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000794u, ImmutableString("textureGrad(00S20B20B20B").mangledNameHash());
     ASSERT_EQ(0x00000308u, ImmutableString("textureGrad(00Y20B20B20B").mangledNameHash());
-    ASSERT_EQ(0x000007edu, ImmutableString("textureGrad(00K20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x000007eeu, ImmutableString("textureGrad(00K20B20B20B").mangledNameHash());
     ASSERT_EQ(0x00000220u, ImmutableString("textureGrad(00T20B20B20B").mangledNameHash());
     ASSERT_EQ(0x000000e0u, ImmutableString("textureGrad(00Z20B20B20B").mangledNameHash());
-    ASSERT_EQ(0x00000738u, ImmutableString("textureGrad(00d20B10B10B").mangledNameHash());
-    ASSERT_EQ(0x000007e1u, ImmutableString("textureGrad(00e30B20B20B").mangledNameHash());
-    ASSERT_EQ(0x000004e3u, ImmutableString("textureGrad(00L20B10B10B").mangledNameHash());
-    ASSERT_EQ(0x00000383u, ImmutableString("textureGrad(00U20B10B10B").mangledNameHash());
-    ASSERT_EQ(0x00000356u, ImmutableString("textureGrad(00a20B10B10B").mangledNameHash());
-    ASSERT_EQ(0x0000060bu, ImmutableString("textureGrad(00f30B10B10B").mangledNameHash());
-    ASSERT_EQ(0x00000447u, ImmutableString("textureProjGrad(00I20B10B10B").mangledNameHash());
-    ASSERT_EQ(0x00000441u, ImmutableString("textureProjGrad(00R20B10B10B").mangledNameHash());
-    ASSERT_EQ(0x000005cau, ImmutableString("textureProjGrad(00X20B10B10B").mangledNameHash());
-    ASSERT_EQ(0x000006fbu, ImmutableString("textureProjGrad(00I30B10B10B").mangledNameHash());
-    ASSERT_EQ(0x0000078du, ImmutableString("textureProjGrad(00R30B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000739u, ImmutableString("textureGrad(00d20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000007e2u, ImmutableString("textureGrad(00e30B20B20B").mangledNameHash());
+    ASSERT_EQ(0x000004e6u, ImmutableString("textureGrad(00L20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000384u, ImmutableString("textureGrad(00U20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000357u, ImmutableString("textureGrad(00a20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000060du, ImmutableString("textureGrad(00f30B10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000044au, ImmutableString("textureProjGrad(00I20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000444u, ImmutableString("textureProjGrad(00R20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000005ccu, ImmutableString("textureProjGrad(00X20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000006fcu, ImmutableString("textureProjGrad(00I30B10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000078eu, ImmutableString("textureProjGrad(00R30B10B10B").mangledNameHash());
     ASSERT_EQ(0x00000255u, ImmutableString("textureProjGrad(00X30B10B10B").mangledNameHash());
     ASSERT_EQ(0x000000d2u, ImmutableString("textureProjGrad(00J30B20B20B").mangledNameHash());
     ASSERT_EQ(0x0000004au, ImmutableString("textureProjGrad(00S30B20B20B").mangledNameHash());
     ASSERT_EQ(0x0000026fu, ImmutableString("textureProjGrad(00Y30B20B20B").mangledNameHash());
-    ASSERT_EQ(0x00000361u, ImmutableString("textureProjGrad(00d30B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000362u, ImmutableString("textureProjGrad(00d30B10B10B").mangledNameHash());
     ASSERT_EQ(0x000002d0u, ImmutableString("textureOffset(00I10B10D").mangledNameHash());
-    ASSERT_EQ(0x000003b8u, ImmutableString("textureOffset(00R10B10D").mangledNameHash());
+    ASSERT_EQ(0x000003bau, ImmutableString("textureOffset(00R10B10D").mangledNameHash());
     ASSERT_EQ(0x00000194u, ImmutableString("textureOffset(00X10B10D").mangledNameHash());
     ASSERT_EQ(0x00000246u, ImmutableString("textureOffset(00J20B20D").mangledNameHash());
     ASSERT_EQ(0x0000023cu, ImmutableString("textureOffset(00S20B20D").mangledNameHash());
-    ASSERT_EQ(0x00000649u, ImmutableString("textureOffset(00Y20B20D").mangledNameHash());
-    ASSERT_EQ(0x000006fdu, ImmutableString("textureOffset(00d20B10D").mangledNameHash());
+    ASSERT_EQ(0x0000064bu, ImmutableString("textureOffset(00Y20B20D").mangledNameHash());
+    ASSERT_EQ(0x000006feu, ImmutableString("textureOffset(00d20B10D").mangledNameHash());
     ASSERT_EQ(0x0000008bu, ImmutableString("textureOffset(00L20B10D").mangledNameHash());
-    ASSERT_EQ(0x000004d6u, ImmutableString("textureOffset(00U20B10D").mangledNameHash());
-    ASSERT_EQ(0x0000080du, ImmutableString("textureOffset(00a20B10D").mangledNameHash());
-    ASSERT_EQ(0x00000522u, ImmutableString("textureProjOffset(00I20B10D").mangledNameHash());
+    ASSERT_EQ(0x000004d9u, ImmutableString("textureOffset(00U20B10D").mangledNameHash());
+    ASSERT_EQ(0x0000080eu, ImmutableString("textureOffset(00a20B10D").mangledNameHash());
+    ASSERT_EQ(0x00000525u, ImmutableString("textureProjOffset(00I20B10D").mangledNameHash());
     ASSERT_EQ(0x000002ccu, ImmutableString("textureProjOffset(00R20B10D").mangledNameHash());
-    ASSERT_EQ(0x00000189u, ImmutableString("textureProjOffset(00X20B10D").mangledNameHash());
+    ASSERT_EQ(0x0000090bu, ImmutableString("textureProjOffset(00X20B10D").mangledNameHash());
     ASSERT_EQ(0x0000018fu, ImmutableString("textureProjOffset(00I30B10D").mangledNameHash());
     ASSERT_EQ(0x00000907u, ImmutableString("textureProjOffset(00R30B10D").mangledNameHash());
-    ASSERT_EQ(0x0000066au, ImmutableString("textureProjOffset(00X30B10D").mangledNameHash());
-    ASSERT_EQ(0x000006bcu, ImmutableString("textureProjOffset(00J30B20D").mangledNameHash());
+    ASSERT_EQ(0x0000066cu, ImmutableString("textureProjOffset(00X30B10D").mangledNameHash());
+    ASSERT_EQ(0x000006beu, ImmutableString("textureProjOffset(00J30B20D").mangledNameHash());
     ASSERT_EQ(0x00000090u, ImmutableString("textureProjOffset(00S30B20D").mangledNameHash());
     ASSERT_EQ(0x000001f8u, ImmutableString("textureProjOffset(00Y30B20D").mangledNameHash());
-    ASSERT_EQ(0x00000463u, ImmutableString("textureProjOffset(00d30B10D").mangledNameHash());
-    ASSERT_EQ(0x000004d2u, ImmutableString("textureLodOffset(00I10B00B10D").mangledNameHash());
-    ASSERT_EQ(0x000006cfu, ImmutableString("textureLodOffset(00R10B00B10D").mangledNameHash());
-    ASSERT_EQ(0x00000514u, ImmutableString("textureLodOffset(00X10B00B10D").mangledNameHash());
-    ASSERT_EQ(0x000003a9u, ImmutableString("textureLodOffset(00J20B00B20D").mangledNameHash());
+    ASSERT_EQ(0x00000466u, ImmutableString("textureProjOffset(00d30B10D").mangledNameHash());
+    ASSERT_EQ(0x000004d5u, ImmutableString("textureLodOffset(00I10B00B10D").mangledNameHash());
+    ASSERT_EQ(0x000006d1u, ImmutableString("textureLodOffset(00R10B00B10D").mangledNameHash());
+    ASSERT_EQ(0x00000517u, ImmutableString("textureLodOffset(00X10B00B10D").mangledNameHash());
+    ASSERT_EQ(0x000003abu, ImmutableString("textureLodOffset(00J20B00B20D").mangledNameHash());
     ASSERT_EQ(0x000000a3u, ImmutableString("textureLodOffset(00S20B00B20D").mangledNameHash());
-    ASSERT_EQ(0x000007cdu, ImmutableString("textureLodOffset(00Y20B00B20D").mangledNameHash());
-    ASSERT_EQ(0x000005c8u, ImmutableString("textureLodOffset(00d20B00B10D").mangledNameHash());
+    ASSERT_EQ(0x000007ceu, ImmutableString("textureLodOffset(00Y20B00B20D").mangledNameHash());
+    ASSERT_EQ(0x000005cau, ImmutableString("textureLodOffset(00d20B00B10D").mangledNameHash());
     ASSERT_EQ(0x000008edu, ImmutableString("textureLodOffset(00L20B00B10D").mangledNameHash());
-    ASSERT_EQ(0x000003ccu, ImmutableString("textureLodOffset(00U20B00B10D").mangledNameHash());
+    ASSERT_EQ(0x000003ceu, ImmutableString("textureLodOffset(00U20B00B10D").mangledNameHash());
     ASSERT_EQ(0x0000002cu, ImmutableString("textureLodOffset(00a20B00B10D").mangledNameHash());
     ASSERT_EQ(0x000008ddu, ImmutableString("textureProjLodOffset(00I20B00B10D").mangledNameHash());
     ASSERT_EQ(0x000000cdu, ImmutableString("textureProjLodOffset(00R20B00B10D").mangledNameHash());
     ASSERT_EQ(0x0000033bu, ImmutableString("textureProjLodOffset(00X20B00B10D").mangledNameHash());
-    ASSERT_EQ(0x00000698u, ImmutableString("textureProjLodOffset(00I30B00B10D").mangledNameHash());
-    ASSERT_EQ(0x00000654u, ImmutableString("textureProjLodOffset(00R30B00B10D").mangledNameHash());
-    ASSERT_EQ(0x00000459u, ImmutableString("textureProjLodOffset(00X30B00B10D").mangledNameHash());
-    ASSERT_EQ(0x0000036bu, ImmutableString("textureProjLodOffset(00J30B00B20D").mangledNameHash());
+    ASSERT_EQ(0x0000069au, ImmutableString("textureProjLodOffset(00I30B00B10D").mangledNameHash());
+    ASSERT_EQ(0x00000656u, ImmutableString("textureProjLodOffset(00R30B00B10D").mangledNameHash());
+    ASSERT_EQ(0x0000045cu, ImmutableString("textureProjLodOffset(00X30B00B10D").mangledNameHash());
+    ASSERT_EQ(0x0000036cu, ImmutableString("textureProjLodOffset(00J30B00B20D").mangledNameHash());
     ASSERT_EQ(0x000000f6u, ImmutableString("textureProjLodOffset(00S30B00B20D").mangledNameHash());
-    ASSERT_EQ(0x000007fdu, ImmutableString("textureProjLodOffset(00Y30B00B20D").mangledNameHash());
-    ASSERT_EQ(0x00000695u, ImmutableString("textureProjLodOffset(00d30B00B10D").mangledNameHash());
-    ASSERT_EQ(0x0000076cu, ImmutableString("texelFetchOffset(00I10D00D10D").mangledNameHash());
-    ASSERT_EQ(0x0000050fu, ImmutableString("texelFetchOffset(00R10D00D10D").mangledNameHash());
+    ASSERT_EQ(0x000007feu, ImmutableString("textureProjLodOffset(00Y30B00B20D").mangledNameHash());
+    ASSERT_EQ(0x00000697u, ImmutableString("textureProjLodOffset(00d30B00B10D").mangledNameHash());
+    ASSERT_EQ(0x0000076du, ImmutableString("texelFetchOffset(00I10D00D10D").mangledNameHash());
+    ASSERT_EQ(0x00000512u, ImmutableString("texelFetchOffset(00R10D00D10D").mangledNameHash());
     ASSERT_EQ(0x000001c0u, ImmutableString("texelFetchOffset(00X10D00D10D").mangledNameHash());
     ASSERT_EQ(0x00000049u, ImmutableString("texelFetchOffset(00J20D00D20D").mangledNameHash());
-    ASSERT_EQ(0x00000563u, ImmutableString("texelFetchOffset(00S20D00D20D").mangledNameHash());
+    ASSERT_EQ(0x00000566u, ImmutableString("texelFetchOffset(00S20D00D20D").mangledNameHash());
     ASSERT_EQ(0x00000281u, ImmutableString("texelFetchOffset(00Y20D00D20D").mangledNameHash());
     ASSERT_EQ(0x00000875u, ImmutableString("texelFetchOffset(00L20D00D10D").mangledNameHash());
-    ASSERT_EQ(0x0000045du, ImmutableString("texelFetchOffset(00U20D00D10D").mangledNameHash());
+    ASSERT_EQ(0x00000460u, ImmutableString("texelFetchOffset(00U20D00D10D").mangledNameHash());
     ASSERT_EQ(0x000000c2u, ImmutableString("texelFetchOffset(00a20D00D10D").mangledNameHash());
-    ASSERT_EQ(0x000003a8u, ImmutableString("textureGradOffset(00I10B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x000003aau, ImmutableString("textureGradOffset(00I10B10B10B10D").mangledNameHash());
     ASSERT_EQ(0x0000086fu, ImmutableString("textureGradOffset(00R10B10B10B10D").mangledNameHash());
     ASSERT_EQ(0x000001bfu, ImmutableString("textureGradOffset(00X10B10B10B10D").mangledNameHash());
     ASSERT_EQ(0x000002a3u, ImmutableString("textureGradOffset(00J20B20B20B20D").mangledNameHash());
-    ASSERT_EQ(0x00000755u, ImmutableString("textureGradOffset(00S20B20B20B20D").mangledNameHash());
-    ASSERT_EQ(0x00000608u, ImmutableString("textureGradOffset(00Y20B20B20B20D").mangledNameHash());
-    ASSERT_EQ(0x00000461u, ImmutableString("textureGradOffset(00d20B10B10B10D").mangledNameHash());
-    ASSERT_EQ(0x00000437u, ImmutableString("textureGradOffset(00L20B10B10B10D").mangledNameHash());
-    ASSERT_EQ(0x00000433u, ImmutableString("textureGradOffset(00U20B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000756u, ImmutableString("textureGradOffset(00S20B20B20B20D").mangledNameHash());
+    ASSERT_EQ(0x0000060au, ImmutableString("textureGradOffset(00Y20B20B20B20D").mangledNameHash());
+    ASSERT_EQ(0x00000464u, ImmutableString("textureGradOffset(00d20B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000439u, ImmutableString("textureGradOffset(00L20B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000435u, ImmutableString("textureGradOffset(00U20B10B10B10D").mangledNameHash());
     ASSERT_EQ(0x00000346u, ImmutableString("textureGradOffset(00a20B10B10B10D").mangledNameHash());
-    ASSERT_EQ(0x000005f7u, ImmutableString("textureGradOffset(00f30B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x000005f9u, ImmutableString("textureGradOffset(00f30B10B10B10D").mangledNameHash());
     ASSERT_EQ(0x000002e7u,
               ImmutableString("textureProjGradOffset(00I20B10B10B10D").mangledNameHash());
-    ASSERT_EQ(0x000003bau,
+    ASSERT_EQ(0x000003bcu,
               ImmutableString("textureProjGradOffset(00R20B10B10B10D").mangledNameHash());
-    ASSERT_EQ(0x000003d3u,
+    ASSERT_EQ(0x000003d5u,
               ImmutableString("textureProjGradOffset(00X20B10B10B10D").mangledNameHash());
-    ASSERT_EQ(0x00000622u,
+    ASSERT_EQ(0x00000624u,
               ImmutableString("textureProjGradOffset(00I30B10B10B10D").mangledNameHash());
     ASSERT_EQ(0x00000874u,
               ImmutableString("textureProjGradOffset(00R30B10B10B10D").mangledNameHash());
-    ASSERT_EQ(0x00000790u,
+    ASSERT_EQ(0x00000791u,
               ImmutableString("textureProjGradOffset(00X30B10B10B10D").mangledNameHash());
     ASSERT_EQ(0x0000091eu,
               ImmutableString("textureProjGradOffset(00J30B20B20B20D").mangledNameHash());
-    ASSERT_EQ(0x0000055au,
+    ASSERT_EQ(0x0000055du,
               ImmutableString("textureProjGradOffset(00S30B20B20B20D").mangledNameHash());
     ASSERT_EQ(0x0000021eu,
               ImmutableString("textureProjGradOffset(00Y30B20B20B20D").mangledNameHash());
@@ -811,388 +811,388 @@
               ImmutableString("textureProjGradOffset(00d30B10B10B10D").mangledNameHash());
     ASSERT_EQ(0x000002b9u, ImmutableString("texture(00M10B").mangledNameHash());
     ASSERT_EQ(0x00000310u, ImmutableString("textureProj(00M20B").mangledNameHash());
-    ASSERT_EQ(0x00000436u, ImmutableString("textureProj(00M30B").mangledNameHash());
-    ASSERT_EQ(0x0000042eu, ImmutableString("textureSize(00M00D").mangledNameHash());
-    ASSERT_EQ(0x00000751u, ImmutableString("texelFetch(00M10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000438u, ImmutableString("textureProj(00M30B").mangledNameHash());
+    ASSERT_EQ(0x00000430u, ImmutableString("textureSize(00M00D").mangledNameHash());
+    ASSERT_EQ(0x00000752u, ImmutableString("texelFetch(00M10D00D").mangledNameHash());
     ASSERT_EQ(0x000000beu, ImmutableString("texture(00N10B").mangledNameHash());
-    ASSERT_EQ(0x00000451u, ImmutableString("textureProj(00N20B").mangledNameHash());
-    ASSERT_EQ(0x000003b1u, ImmutableString("textureProj(00N30B").mangledNameHash());
-    ASSERT_EQ(0x00000741u, ImmutableString("rgb_2_yuv(20B00H").mangledNameHash());
-    ASSERT_EQ(0x000004b2u, ImmutableString("yuv_2_rgb(20B00H").mangledNameHash());
-    ASSERT_EQ(0x000005efu, ImmutableString("textureSize(00N00D").mangledNameHash());
+    ASSERT_EQ(0x00000454u, ImmutableString("textureProj(00N20B").mangledNameHash());
+    ASSERT_EQ(0x000003b3u, ImmutableString("textureProj(00N30B").mangledNameHash());
+    ASSERT_EQ(0x00000742u, ImmutableString("rgb_2_yuv(20B00H").mangledNameHash());
+    ASSERT_EQ(0x000004b5u, ImmutableString("yuv_2_rgb(20B00H").mangledNameHash());
+    ASSERT_EQ(0x000005f1u, ImmutableString("textureSize(00N00D").mangledNameHash());
     ASSERT_EQ(0x000001f5u, ImmutableString("texelFetch(00N10D00D").mangledNameHash());
     ASSERT_EQ(0x000008c6u, ImmutableString("gl_MaxVertexOutputVectors").mangledNameHash());
     ASSERT_EQ(0x00000064u, ImmutableString("gl_MaxFragmentInputVectors").mangledNameHash());
-    ASSERT_EQ(0x00000594u, ImmutableString("gl_MinProgramTexelOffset").mangledNameHash());
-    ASSERT_EQ(0x0000084cu, ImmutableString("gl_MaxProgramTexelOffset").mangledNameHash());
+    ASSERT_EQ(0x00000596u, ImmutableString("gl_MinProgramTexelOffset").mangledNameHash());
+    ASSERT_EQ(0x0000084du, ImmutableString("gl_MaxProgramTexelOffset").mangledNameHash());
     ASSERT_EQ(0x00000080u, ImmutableString("texture(00I10B00B").mangledNameHash());
-    ASSERT_EQ(0x00000497u, ImmutableString("texture(00R10B00B").mangledNameHash());
+    ASSERT_EQ(0x0000049au, ImmutableString("texture(00R10B00B").mangledNameHash());
     ASSERT_EQ(0x000002c0u, ImmutableString("texture(00X10B00B").mangledNameHash());
-    ASSERT_EQ(0x0000035bu, ImmutableString("texture(00J20B00B").mangledNameHash());
-    ASSERT_EQ(0x00000715u, ImmutableString("texture(00S20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000035cu, ImmutableString("texture(00J20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000716u, ImmutableString("texture(00S20B00B").mangledNameHash());
     ASSERT_EQ(0x00000107u, ImmutableString("texture(00Y20B00B").mangledNameHash());
-    ASSERT_EQ(0x000007f2u, ImmutableString("texture(00K20B00B").mangledNameHash());
-    ASSERT_EQ(0x00000515u, ImmutableString("texture(00T20B00B").mangledNameHash());
+    ASSERT_EQ(0x000007f3u, ImmutableString("texture(00K20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000518u, ImmutableString("texture(00T20B00B").mangledNameHash());
     ASSERT_EQ(0x00000214u, ImmutableString("texture(00Z20B00B").mangledNameHash());
     ASSERT_EQ(0x00000144u, ImmutableString("texture(00L20B00B").mangledNameHash());
     ASSERT_EQ(0x0000033fu, ImmutableString("texture(00U20B00B").mangledNameHash());
-    ASSERT_EQ(0x000006deu, ImmutableString("texture(00a20B00B").mangledNameHash());
-    ASSERT_EQ(0x000006d6u, ImmutableString("textureProj(00I20B00B").mangledNameHash());
-    ASSERT_EQ(0x00000639u, ImmutableString("textureProj(00R20B00B").mangledNameHash());
-    ASSERT_EQ(0x000003e8u, ImmutableString("textureProj(00X20B00B").mangledNameHash());
-    ASSERT_EQ(0x000003c2u, ImmutableString("textureProj(00I30B00B").mangledNameHash());
+    ASSERT_EQ(0x000006e0u, ImmutableString("texture(00a20B00B").mangledNameHash());
+    ASSERT_EQ(0x000006d8u, ImmutableString("textureProj(00I20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000063bu, ImmutableString("textureProj(00R20B00B").mangledNameHash());
+    ASSERT_EQ(0x000003eau, ImmutableString("textureProj(00X20B00B").mangledNameHash());
+    ASSERT_EQ(0x000003c4u, ImmutableString("textureProj(00I30B00B").mangledNameHash());
     ASSERT_EQ(0x00000001u, ImmutableString("textureProj(00R30B00B").mangledNameHash());
-    ASSERT_EQ(0x00000837u, ImmutableString("textureProj(00X30B00B").mangledNameHash());
-    ASSERT_EQ(0x000004b4u, ImmutableString("textureProj(00J30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000838u, ImmutableString("textureProj(00X30B00B").mangledNameHash());
+    ASSERT_EQ(0x000004b7u, ImmutableString("textureProj(00J30B00B").mangledNameHash());
     ASSERT_EQ(0x000001abu, ImmutableString("textureProj(00S30B00B").mangledNameHash());
-    ASSERT_EQ(0x000005c0u, ImmutableString("textureProj(00Y30B00B").mangledNameHash());
-    ASSERT_EQ(0x00000603u, ImmutableString("texture(00d20B00B").mangledNameHash());
+    ASSERT_EQ(0x000005c2u, ImmutableString("textureProj(00Y30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000605u, ImmutableString("texture(00d20B00B").mangledNameHash());
     ASSERT_EQ(0x0000032eu, ImmutableString("texture(00e30B00B").mangledNameHash());
-    ASSERT_EQ(0x000006dbu, ImmutableString("textureProj(00d30B00B").mangledNameHash());
+    ASSERT_EQ(0x000006ddu, ImmutableString("textureProj(00d30B00B").mangledNameHash());
     ASSERT_EQ(0x0000090fu, ImmutableString("texture(00M10B00B").mangledNameHash());
-    ASSERT_EQ(0x000006e5u, ImmutableString("textureProj(00M20B00B").mangledNameHash());
-    ASSERT_EQ(0x000004aau, ImmutableString("textureProj(00M30B00B").mangledNameHash());
-    ASSERT_EQ(0x000006f6u, ImmutableString("texture(00N10B00B").mangledNameHash());
+    ASSERT_EQ(0x000006e7u, ImmutableString("textureProj(00M20B00B").mangledNameHash());
+    ASSERT_EQ(0x000004adu, ImmutableString("textureProj(00M30B00B").mangledNameHash());
+    ASSERT_EQ(0x000006f7u, ImmutableString("texture(00N10B00B").mangledNameHash());
     ASSERT_EQ(0x00000305u, ImmutableString("textureProj(00N20B00B").mangledNameHash());
     ASSERT_EQ(0x0000007du, ImmutableString("textureProj(00N30B00B").mangledNameHash());
     ASSERT_EQ(0x00000890u, ImmutableString("textureOffset(00I10B10D00B").mangledNameHash());
     ASSERT_EQ(0x00000164u, ImmutableString("textureOffset(00R10B10D00B").mangledNameHash());
     ASSERT_EQ(0x0000010bu, ImmutableString("textureOffset(00X10B10D00B").mangledNameHash());
     ASSERT_EQ(0x00000894u, ImmutableString("textureOffset(00J20B20D00B").mangledNameHash());
-    ASSERT_EQ(0x00000625u, ImmutableString("textureOffset(00S20B20D00B").mangledNameHash());
-    ASSERT_EQ(0x00000754u, ImmutableString("textureOffset(00Y20B20D00B").mangledNameHash());
+    ASSERT_EQ(0x00000627u, ImmutableString("textureOffset(00S20B20D00B").mangledNameHash());
+    ASSERT_EQ(0x00000755u, ImmutableString("textureOffset(00Y20B20D00B").mangledNameHash());
     ASSERT_EQ(0x00000074u, ImmutableString("textureOffset(00d20B10D00B").mangledNameHash());
-    ASSERT_EQ(0x00000760u, ImmutableString("textureOffset(00L20B10D00B").mangledNameHash());
-    ASSERT_EQ(0x000007f7u, ImmutableString("textureOffset(00U20B10D00B").mangledNameHash());
+    ASSERT_EQ(0x00000761u, ImmutableString("textureOffset(00L20B10D00B").mangledNameHash());
+    ASSERT_EQ(0x000007f8u, ImmutableString("textureOffset(00U20B10D00B").mangledNameHash());
     ASSERT_EQ(0x00000162u, ImmutableString("textureOffset(00a20B10D00B").mangledNameHash());
-    ASSERT_EQ(0x00000690u, ImmutableString("textureProjOffset(00I20B10D00B").mangledNameHash());
-    ASSERT_EQ(0x00000627u, ImmutableString("textureProjOffset(00R20B10D00B").mangledNameHash());
-    ASSERT_EQ(0x0000078fu, ImmutableString("textureProjOffset(00X20B10D00B").mangledNameHash());
+    ASSERT_EQ(0x00000692u, ImmutableString("textureProjOffset(00I20B10D00B").mangledNameHash());
+    ASSERT_EQ(0x00000629u, ImmutableString("textureProjOffset(00R20B10D00B").mangledNameHash());
+    ASSERT_EQ(0x00000790u, ImmutableString("textureProjOffset(00X20B10D00B").mangledNameHash());
     ASSERT_EQ(0x000008e8u, ImmutableString("textureProjOffset(00I30B10D00B").mangledNameHash());
-    ASSERT_EQ(0x00000480u, ImmutableString("textureProjOffset(00R30B10D00B").mangledNameHash());
-    ASSERT_EQ(0x000006e7u, ImmutableString("textureProjOffset(00X30B10D00B").mangledNameHash());
+    ASSERT_EQ(0x00000483u, ImmutableString("textureProjOffset(00R30B10D00B").mangledNameHash());
+    ASSERT_EQ(0x000006e9u, ImmutableString("textureProjOffset(00X30B10D00B").mangledNameHash());
     ASSERT_EQ(0x00000177u, ImmutableString("textureProjOffset(00J30B20D00B").mangledNameHash());
-    ASSERT_EQ(0x000007abu, ImmutableString("textureProjOffset(00S30B20D00B").mangledNameHash());
+    ASSERT_EQ(0x000007acu, ImmutableString("textureProjOffset(00S30B20D00B").mangledNameHash());
     ASSERT_EQ(0x0000005cu, ImmutableString("textureProjOffset(00Y30B20D00B").mangledNameHash());
     ASSERT_EQ(0x00000222u, ImmutableString("textureProjOffset(00d30B10D00B").mangledNameHash());
-    ASSERT_EQ(0x00000637u, ImmutableString("dFdx(00B").mangledNameHash());
-    ASSERT_EQ(0x0000058bu, ImmutableString("dFdx(10B").mangledNameHash());
-    ASSERT_EQ(0x0000079fu, ImmutableString("dFdx(20B").mangledNameHash());
-    ASSERT_EQ(0x000006feu, ImmutableString("dFdx(30B").mangledNameHash());
-    ASSERT_EQ(0x00000709u, ImmutableString("dFdy(00B").mangledNameHash());
-    ASSERT_EQ(0x000007b8u, ImmutableString("dFdy(10B").mangledNameHash());
+    ASSERT_EQ(0x00000639u, ImmutableString("dFdx(00B").mangledNameHash());
+    ASSERT_EQ(0x0000058eu, ImmutableString("dFdx(10B").mangledNameHash());
+    ASSERT_EQ(0x000007a0u, ImmutableString("dFdx(20B").mangledNameHash());
+    ASSERT_EQ(0x000006ffu, ImmutableString("dFdx(30B").mangledNameHash());
+    ASSERT_EQ(0x0000070au, ImmutableString("dFdy(00B").mangledNameHash());
+    ASSERT_EQ(0x000007b9u, ImmutableString("dFdy(10B").mangledNameHash());
     ASSERT_EQ(0x00000109u, ImmutableString("dFdy(20B").mangledNameHash());
     ASSERT_EQ(0x000001cdu, ImmutableString("dFdy(30B").mangledNameHash());
-    ASSERT_EQ(0x000007b7u, ImmutableString("fwidth(00B").mangledNameHash());
-    ASSERT_EQ(0x0000051eu, ImmutableString("fwidth(10B").mangledNameHash());
+    ASSERT_EQ(0x000007b8u, ImmutableString("fwidth(00B").mangledNameHash());
+    ASSERT_EQ(0x00000521u, ImmutableString("fwidth(10B").mangledNameHash());
     ASSERT_EQ(0x00000910u, ImmutableString("fwidth(20B").mangledNameHash());
     ASSERT_EQ(0x00000870u, ImmutableString("fwidth(30B").mangledNameHash());
-    ASSERT_EQ(0x0000041eu, ImmutableString("gl_FragDepth").mangledNameHash());
+    ASSERT_EQ(0x00000420u, ImmutableString("gl_FragDepth").mangledNameHash());
     ASSERT_EQ(0x0000027fu, ImmutableString("gl_InstanceID").mangledNameHash());
-    ASSERT_EQ(0x000005b6u, ImmutableString("gl_VertexID").mangledNameHash());
-    ASSERT_EQ(0x00000492u, ImmutableString("gl_DrawID").mangledNameHash());
+    ASSERT_EQ(0x000005b8u, ImmutableString("gl_VertexID").mangledNameHash());
     ASSERT_EQ(0x00000896u, ImmutableString("gl_BaseVertex").mangledNameHash());
     ASSERT_EQ(0x000001ebu, ImmutableString("gl_BaseInstance").mangledNameHash());
     ASSERT_EQ(0x0000024eu, ImmutableString("gl_ViewID_OVR").mangledNameHash());
     ASSERT_EQ(0x000002c2u, ImmutableString("texture2D(00I10B").mangledNameHash());
     ASSERT_EQ(0x00000005u, ImmutableString("texture2DProj(00I20B").mangledNameHash());
-    ASSERT_EQ(0x000003a7u, ImmutableString("texture2DProj(00I30B").mangledNameHash());
+    ASSERT_EQ(0x000003a9u, ImmutableString("texture2DProj(00I30B").mangledNameHash());
     ASSERT_EQ(0x0000016du, ImmutableString("textureCube(00K20B").mangledNameHash());
-    ASSERT_EQ(0x0000079au, ImmutableString("texture2D(00M10B").mangledNameHash());
-    ASSERT_EQ(0x000003deu, ImmutableString("texture2DProj(00M20B").mangledNameHash());
-    ASSERT_EQ(0x000004abu, ImmutableString("texture2DProj(00M30B").mangledNameHash());
+    ASSERT_EQ(0x0000079bu, ImmutableString("texture2D(00M10B").mangledNameHash());
+    ASSERT_EQ(0x000003e0u, ImmutableString("texture2DProj(00M20B").mangledNameHash());
+    ASSERT_EQ(0x000004aeu, ImmutableString("texture2DProj(00M30B").mangledNameHash());
     ASSERT_EQ(0x00000098u, ImmutableString("texture2DRect(00O10B").mangledNameHash());
-    ASSERT_EQ(0x0000048au, ImmutableString("texture2DRectProj(00O20B").mangledNameHash());
-    ASSERT_EQ(0x00000550u, ImmutableString("texture2DRectProj(00O30B").mangledNameHash());
+    ASSERT_EQ(0x0000048du, ImmutableString("texture2DRectProj(00O20B").mangledNameHash());
+    ASSERT_EQ(0x00000553u, ImmutableString("texture2DRectProj(00O30B").mangledNameHash());
     ASSERT_EQ(0x000002a5u, ImmutableString("texture2DGradEXT(00I10B10B10B").mangledNameHash());
-    ASSERT_EQ(0x00000418u, ImmutableString("texture2DProjGradEXT(00I20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000041au, ImmutableString("texture2DProjGradEXT(00I20B10B10B").mangledNameHash());
     ASSERT_EQ(0x000002a8u, ImmutableString("texture2DProjGradEXT(00I30B10B10B").mangledNameHash());
-    ASSERT_EQ(0x00000814u, ImmutableString("textureCubeGradEXT(00K20B20B20B").mangledNameHash());
-    ASSERT_EQ(0x000006a4u, ImmutableString("gl_MaxVaryingVectors").mangledNameHash());
+    ASSERT_EQ(0x00000815u, ImmutableString("textureCubeGradEXT(00K20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x000006a6u, ImmutableString("gl_MaxVaryingVectors").mangledNameHash());
     ASSERT_EQ(0x000008c2u, ImmutableString("gl_FragData").mangledNameHash());
-    ASSERT_EQ(0x00000802u, ImmutableString("gl_SecondaryFragDataEXT").mangledNameHash());
+    ASSERT_EQ(0x00000803u, ImmutableString("gl_SecondaryFragDataEXT").mangledNameHash());
     ASSERT_EQ(0x00000333u, ImmutableString("gl_FragDepthEXT").mangledNameHash());
-    ASSERT_EQ(0x0000077du, ImmutableString("texture2D(00I10B00B").mangledNameHash());
+    ASSERT_EQ(0x0000077eu, ImmutableString("texture2D(00I10B00B").mangledNameHash());
     ASSERT_EQ(0x00000110u, ImmutableString("texture2DProj(00I20B00B").mangledNameHash());
-    ASSERT_EQ(0x00000811u, ImmutableString("texture2DProj(00I30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000812u, ImmutableString("texture2DProj(00I30B00B").mangledNameHash());
     ASSERT_EQ(0x000001dbu, ImmutableString("textureCube(00K20B00B").mangledNameHash());
-    ASSERT_EQ(0x000007f1u, ImmutableString("texture2DLodEXT(00I10B00B").mangledNameHash());
+    ASSERT_EQ(0x000007f2u, ImmutableString("texture2DLodEXT(00I10B00B").mangledNameHash());
     ASSERT_EQ(0x000001d5u, ImmutableString("texture2DProjLodEXT(00I20B00B").mangledNameHash());
-    ASSERT_EQ(0x000007e9u, ImmutableString("texture2DProjLodEXT(00I30B00B").mangledNameHash());
-    ASSERT_EQ(0x0000044fu, ImmutableString("textureCubeLodEXT(00K20B00B").mangledNameHash());
-    ASSERT_EQ(0x00000801u, ImmutableString("texture3D(00J20B").mangledNameHash());
-    ASSERT_EQ(0x0000062fu, ImmutableString("texture3DProj(00J30B").mangledNameHash());
-    ASSERT_EQ(0x00000541u, ImmutableString("texture3D(00J20B00B").mangledNameHash());
-    ASSERT_EQ(0x0000061fu, ImmutableString("texture3DProj(00J30B00B").mangledNameHash());
-    ASSERT_EQ(0x00000494u, ImmutableString("texture3DLod(00J20B00B").mangledNameHash());
+    ASSERT_EQ(0x000007eau, ImmutableString("texture2DProjLodEXT(00I30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000452u, ImmutableString("textureCubeLodEXT(00K20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000802u, ImmutableString("texture3D(00J20B").mangledNameHash());
+    ASSERT_EQ(0x00000631u, ImmutableString("texture3DProj(00J30B").mangledNameHash());
+    ASSERT_EQ(0x00000544u, ImmutableString("texture3D(00J20B00B").mangledNameHash());
+    ASSERT_EQ(0x00000621u, ImmutableString("texture3DProj(00J30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000497u, ImmutableString("texture3DLod(00J20B00B").mangledNameHash());
     ASSERT_EQ(0x00000311u, ImmutableString("texture3DProjLod(00J30B00B").mangledNameHash());
-    ASSERT_EQ(0x000004dbu, ImmutableString("gl_FragColor").mangledNameHash());
-    ASSERT_EQ(0x000003d2u, ImmutableString("texture2DLod(00I10B00B").mangledNameHash());
-    ASSERT_EQ(0x000004b0u, ImmutableString("texture2DProjLod(00I20B00B").mangledNameHash());
-    ASSERT_EQ(0x000003abu, ImmutableString("texture2DProjLod(00I30B00B").mangledNameHash());
+    ASSERT_EQ(0x000004deu, ImmutableString("gl_FragColor").mangledNameHash());
+    ASSERT_EQ(0x000003d4u, ImmutableString("texture2DLod(00I10B00B").mangledNameHash());
+    ASSERT_EQ(0x000004b3u, ImmutableString("texture2DProjLod(00I20B00B").mangledNameHash());
+    ASSERT_EQ(0x000003adu, ImmutableString("texture2DProjLod(00I30B00B").mangledNameHash());
     ASSERT_EQ(0x000001c8u, ImmutableString("textureCubeLod(00K20B00B").mangledNameHash());
     ASSERT_EQ(0x000001e8u, ImmutableString("gl_SecondaryFragColorEXT").mangledNameHash());
-    ASSERT_EQ(0x000007c1u, ImmutableString("gl_LastFragData").mangledNameHash());
-    ASSERT_EQ(0x00000701u, ImmutableString("gl_LastFragColor").mangledNameHash());
+    ASSERT_EQ(0x000007c2u, ImmutableString("gl_LastFragData").mangledNameHash());
+    ASSERT_EQ(0x00000702u, ImmutableString("gl_LastFragColor").mangledNameHash());
     ASSERT_EQ(0x000001e3u, ImmutableString("gl_LastFragColorARM").mangledNameHash());
     ASSERT_EQ(0x00000199u, ImmutableString("radians(00B").mangledNameHash());
     ASSERT_EQ(0x000000d9u, ImmutableString("radians(10B").mangledNameHash());
     ASSERT_EQ(0x000008c1u, ImmutableString("radians(20B").mangledNameHash());
     ASSERT_EQ(0x0000024fu, ImmutableString("radians(30B").mangledNameHash());
-    ASSERT_EQ(0x0000081au, ImmutableString("degrees(00B").mangledNameHash());
+    ASSERT_EQ(0x0000081bu, ImmutableString("degrees(00B").mangledNameHash());
     ASSERT_EQ(0x000008d8u, ImmutableString("degrees(10B").mangledNameHash());
     ASSERT_EQ(0x0000003eu, ImmutableString("degrees(20B").mangledNameHash());
     ASSERT_EQ(0x000000ebu, ImmutableString("degrees(30B").mangledNameHash());
-    ASSERT_EQ(0x000006a6u, ImmutableString("sin(00B").mangledNameHash());
-    ASSERT_EQ(0x000005eeu, ImmutableString("sin(10B").mangledNameHash());
+    ASSERT_EQ(0x000006a8u, ImmutableString("sin(00B").mangledNameHash());
+    ASSERT_EQ(0x000005f0u, ImmutableString("sin(10B").mangledNameHash());
     ASSERT_EQ(0x000000abu, ImmutableString("sin(20B").mangledNameHash());
     ASSERT_EQ(0x000000b2u, ImmutableString("sin(30B").mangledNameHash());
     ASSERT_EQ(0x0000015eu, ImmutableString("cos(00B").mangledNameHash());
     ASSERT_EQ(0x00000217u, ImmutableString("cos(10B").mangledNameHash());
     ASSERT_EQ(0x0000091au, ImmutableString("cos(20B").mangledNameHash());
     ASSERT_EQ(0x000000a9u, ImmutableString("cos(30B").mangledNameHash());
-    ASSERT_EQ(0x0000083cu, ImmutableString("tan(00B").mangledNameHash());
+    ASSERT_EQ(0x0000083du, ImmutableString("tan(00B").mangledNameHash());
     ASSERT_EQ(0x000008ebu, ImmutableString("tan(10B").mangledNameHash());
-    ASSERT_EQ(0x0000048cu, ImmutableString("tan(20B").mangledNameHash());
-    ASSERT_EQ(0x0000078bu, ImmutableString("tan(30B").mangledNameHash());
+    ASSERT_EQ(0x0000048fu, ImmutableString("tan(20B").mangledNameHash());
+    ASSERT_EQ(0x0000078cu, ImmutableString("tan(30B").mangledNameHash());
     ASSERT_EQ(0x00000176u, ImmutableString("asin(00B").mangledNameHash());
     ASSERT_EQ(0x00000235u, ImmutableString("asin(10B").mangledNameHash());
-    ASSERT_EQ(0x00000704u, ImmutableString("asin(20B").mangledNameHash());
-    ASSERT_EQ(0x000007b4u, ImmutableString("asin(30B").mangledNameHash());
+    ASSERT_EQ(0x00000705u, ImmutableString("asin(20B").mangledNameHash());
+    ASSERT_EQ(0x000007b5u, ImmutableString("asin(30B").mangledNameHash());
     ASSERT_EQ(0x000002a1u, ImmutableString("acos(00B").mangledNameHash());
     ASSERT_EQ(0x000001dau, ImmutableString("acos(10B").mangledNameHash());
-    ASSERT_EQ(0x0000063au, ImmutableString("acos(20B").mangledNameHash());
-    ASSERT_EQ(0x0000058au, ImmutableString("acos(30B").mangledNameHash());
-    ASSERT_EQ(0x0000082cu, ImmutableString("atan(00B00B").mangledNameHash());
+    ASSERT_EQ(0x0000063cu, ImmutableString("acos(20B").mangledNameHash());
+    ASSERT_EQ(0x0000058du, ImmutableString("acos(30B").mangledNameHash());
+    ASSERT_EQ(0x0000082du, ImmutableString("atan(00B00B").mangledNameHash());
     ASSERT_EQ(0x00000028u, ImmutableString("atan(10B10B").mangledNameHash());
-    ASSERT_EQ(0x000005cdu, ImmutableString("atan(20B20B").mangledNameHash());
-    ASSERT_EQ(0x0000056fu, ImmutableString("atan(30B30B").mangledNameHash());
+    ASSERT_EQ(0x000005cfu, ImmutableString("atan(20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000572u, ImmutableString("atan(30B30B").mangledNameHash());
     ASSERT_EQ(0x00000135u, ImmutableString("atan(00B").mangledNameHash());
-    ASSERT_EQ(0x00000739u, ImmutableString("atan(10B").mangledNameHash());
+    ASSERT_EQ(0x0000073au, ImmutableString("atan(10B").mangledNameHash());
     ASSERT_EQ(0x000002b5u, ImmutableString("atan(20B").mangledNameHash());
     ASSERT_EQ(0x000001fau, ImmutableString("atan(30B").mangledNameHash());
-    ASSERT_EQ(0x000005a1u, ImmutableString("pow(00B00B").mangledNameHash());
+    ASSERT_EQ(0x000005a3u, ImmutableString("pow(00B00B").mangledNameHash());
     ASSERT_EQ(0x000002bdu, ImmutableString("pow(10B10B").mangledNameHash());
-    ASSERT_EQ(0x00000680u, ImmutableString("pow(20B20B").mangledNameHash());
-    ASSERT_EQ(0x00000394u, ImmutableString("pow(30B30B").mangledNameHash());
-    ASSERT_EQ(0x00000429u, ImmutableString("exp(00B").mangledNameHash());
-    ASSERT_EQ(0x000004dcu, ImmutableString("exp(10B").mangledNameHash());
+    ASSERT_EQ(0x00000682u, ImmutableString("pow(20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000395u, ImmutableString("pow(30B30B").mangledNameHash());
+    ASSERT_EQ(0x0000042bu, ImmutableString("exp(00B").mangledNameHash());
+    ASSERT_EQ(0x000004dfu, ImmutableString("exp(10B").mangledNameHash());
     ASSERT_EQ(0x000000f1u, ImmutableString("exp(20B").mangledNameHash());
     ASSERT_EQ(0x000001b2u, ImmutableString("exp(30B").mangledNameHash());
     ASSERT_EQ(0x000001b5u, ImmutableString("log(00B").mangledNameHash());
     ASSERT_EQ(0x000000f5u, ImmutableString("log(10B").mangledNameHash());
     ASSERT_EQ(0x00000316u, ImmutableString("log(20B").mangledNameHash());
-    ASSERT_EQ(0x00000519u, ImmutableString("log(30B").mangledNameHash());
-    ASSERT_EQ(0x000006e8u, ImmutableString("exp2(00B").mangledNameHash());
-    ASSERT_EQ(0x0000078eu, ImmutableString("exp2(10B").mangledNameHash());
-    ASSERT_EQ(0x00000579u, ImmutableString("exp2(20B").mangledNameHash());
-    ASSERT_EQ(0x0000061cu, ImmutableString("exp2(30B").mangledNameHash());
-    ASSERT_EQ(0x000007d0u, ImmutableString("log2(00B").mangledNameHash());
-    ASSERT_EQ(0x00000745u, ImmutableString("log2(10B").mangledNameHash());
-    ASSERT_EQ(0x0000068bu, ImmutableString("log2(20B").mangledNameHash());
-    ASSERT_EQ(0x00000360u, ImmutableString("log2(30B").mangledNameHash());
-    ASSERT_EQ(0x00000374u, ImmutableString("sqrt(00B").mangledNameHash());
+    ASSERT_EQ(0x0000051cu, ImmutableString("log(30B").mangledNameHash());
+    ASSERT_EQ(0x000006eau, ImmutableString("exp2(00B").mangledNameHash());
+    ASSERT_EQ(0x0000078fu, ImmutableString("exp2(10B").mangledNameHash());
+    ASSERT_EQ(0x0000057cu, ImmutableString("exp2(20B").mangledNameHash());
+    ASSERT_EQ(0x0000061eu, ImmutableString("exp2(30B").mangledNameHash());
+    ASSERT_EQ(0x000007d1u, ImmutableString("log2(00B").mangledNameHash());
+    ASSERT_EQ(0x00000746u, ImmutableString("log2(10B").mangledNameHash());
+    ASSERT_EQ(0x0000068du, ImmutableString("log2(20B").mangledNameHash());
+    ASSERT_EQ(0x00000361u, ImmutableString("log2(30B").mangledNameHash());
+    ASSERT_EQ(0x00000375u, ImmutableString("sqrt(00B").mangledNameHash());
     ASSERT_EQ(0x000002d6u, ImmutableString("sqrt(10B").mangledNameHash());
-    ASSERT_EQ(0x000004e1u, ImmutableString("sqrt(20B").mangledNameHash());
-    ASSERT_EQ(0x00000427u, ImmutableString("sqrt(30B").mangledNameHash());
+    ASSERT_EQ(0x000004e4u, ImmutableString("sqrt(20B").mangledNameHash());
+    ASSERT_EQ(0x00000429u, ImmutableString("sqrt(30B").mangledNameHash());
     ASSERT_EQ(0x00000047u, ImmutableString("inversesqrt(00B").mangledNameHash());
     ASSERT_EQ(0x000008b7u, ImmutableString("inversesqrt(10B").mangledNameHash());
     ASSERT_EQ(0x0000017eu, ImmutableString("inversesqrt(20B").mangledNameHash());
     ASSERT_EQ(0x000000ecu, ImmutableString("inversesqrt(30B").mangledNameHash());
-    ASSERT_EQ(0x000003cau, ImmutableString("abs(00B").mangledNameHash());
+    ASSERT_EQ(0x000003ccu, ImmutableString("abs(00B").mangledNameHash());
     ASSERT_EQ(0x00000331u, ImmutableString("abs(10B").mangledNameHash());
     ASSERT_EQ(0x00000293u, ImmutableString("abs(20B").mangledNameHash());
-    ASSERT_EQ(0x00000670u, ImmutableString("abs(30B").mangledNameHash());
+    ASSERT_EQ(0x00000672u, ImmutableString("abs(30B").mangledNameHash());
     ASSERT_EQ(0x000000e1u, ImmutableString("sign(00B").mangledNameHash());
-    ASSERT_EQ(0x000006dcu, ImmutableString("sign(10B").mangledNameHash());
+    ASSERT_EQ(0x000006deu, ImmutableString("sign(10B").mangledNameHash());
     ASSERT_EQ(0x00000206u, ImmutableString("sign(20B").mangledNameHash());
     ASSERT_EQ(0x00000104u, ImmutableString("sign(30B").mangledNameHash());
-    ASSERT_EQ(0x0000048eu, ImmutableString("floor(00B").mangledNameHash());
+    ASSERT_EQ(0x00000491u, ImmutableString("floor(00B").mangledNameHash());
     ASSERT_EQ(0x00000150u, ImmutableString("floor(10B").mangledNameHash());
-    ASSERT_EQ(0x000005feu, ImmutableString("floor(20B").mangledNameHash());
-    ASSERT_EQ(0x00000556u, ImmutableString("floor(30B").mangledNameHash());
+    ASSERT_EQ(0x00000600u, ImmutableString("floor(20B").mangledNameHash());
+    ASSERT_EQ(0x00000559u, ImmutableString("floor(30B").mangledNameHash());
     ASSERT_EQ(0x00000861u, ImmutableString("ceil(00B").mangledNameHash());
     ASSERT_EQ(0x000001fdu, ImmutableString("ceil(10B").mangledNameHash());
     ASSERT_EQ(0x000002c5u, ImmutableString("ceil(20B").mangledNameHash());
     ASSERT_EQ(0x00000201u, ImmutableString("ceil(30B").mangledNameHash());
-    ASSERT_EQ(0x00000591u, ImmutableString("fract(00B").mangledNameHash());
-    ASSERT_EQ(0x000004ceu, ImmutableString("fract(10B").mangledNameHash());
-    ASSERT_EQ(0x00000413u, ImmutableString("fract(20B").mangledNameHash());
+    ASSERT_EQ(0x00000593u, ImmutableString("fract(00B").mangledNameHash());
+    ASSERT_EQ(0x000004d1u, ImmutableString("fract(10B").mangledNameHash());
+    ASSERT_EQ(0x00000415u, ImmutableString("fract(20B").mangledNameHash());
     ASSERT_EQ(0x00000250u, ImmutableString("fract(30B").mangledNameHash());
-    ASSERT_EQ(0x000005a2u, ImmutableString("mod(00B00B").mangledNameHash());
-    ASSERT_EQ(0x000007c2u, ImmutableString("mod(10B00B").mangledNameHash());
-    ASSERT_EQ(0x00000761u, ImmutableString("mod(20B00B").mangledNameHash());
+    ASSERT_EQ(0x000005a4u, ImmutableString("mod(00B00B").mangledNameHash());
+    ASSERT_EQ(0x000007c3u, ImmutableString("mod(10B00B").mangledNameHash());
+    ASSERT_EQ(0x00000762u, ImmutableString("mod(20B00B").mangledNameHash());
     ASSERT_EQ(0x00000111u, ImmutableString("mod(30B00B").mangledNameHash());
     ASSERT_EQ(0x0000089fu, ImmutableString("mod(10B10B").mangledNameHash());
-    ASSERT_EQ(0x000005f0u, ImmutableString("mod(20B20B").mangledNameHash());
-    ASSERT_EQ(0x0000059bu, ImmutableString("mod(30B30B").mangledNameHash());
-    ASSERT_EQ(0x00000815u, ImmutableString("min(00B00B").mangledNameHash());
+    ASSERT_EQ(0x000005f2u, ImmutableString("mod(20B20B").mangledNameHash());
+    ASSERT_EQ(0x0000059du, ImmutableString("mod(30B30B").mangledNameHash());
+    ASSERT_EQ(0x00000816u, ImmutableString("min(00B00B").mangledNameHash());
     ASSERT_EQ(0x0000028au, ImmutableString("min(10B00B").mangledNameHash());
     ASSERT_EQ(0x000002d1u, ImmutableString("min(20B00B").mangledNameHash());
-    ASSERT_EQ(0x000004d7u, ImmutableString("min(30B00B").mangledNameHash());
+    ASSERT_EQ(0x000004dau, ImmutableString("min(30B00B").mangledNameHash());
     ASSERT_EQ(0x000002bau, ImmutableString("min(10B10B").mangledNameHash());
-    ASSERT_EQ(0x00000846u, ImmutableString("min(20B20B").mangledNameHash());
-    ASSERT_EQ(0x0000072eu, ImmutableString("min(30B30B").mangledNameHash());
-    ASSERT_EQ(0x00000574u, ImmutableString("max(00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000847u, ImmutableString("min(20B20B").mangledNameHash());
+    ASSERT_EQ(0x0000072fu, ImmutableString("min(30B30B").mangledNameHash());
+    ASSERT_EQ(0x00000577u, ImmutableString("max(00B00B").mangledNameHash());
     ASSERT_EQ(0x00000873u, ImmutableString("max(10B00B").mangledNameHash());
     ASSERT_EQ(0x0000027du, ImmutableString("max(20B00B").mangledNameHash());
-    ASSERT_EQ(0x000003bcu, ImmutableString("max(30B00B").mangledNameHash());
+    ASSERT_EQ(0x000003beu, ImmutableString("max(30B00B").mangledNameHash());
     ASSERT_EQ(0x00000232u, ImmutableString("max(10B10B").mangledNameHash());
-    ASSERT_EQ(0x0000063du, ImmutableString("max(20B20B").mangledNameHash());
+    ASSERT_EQ(0x0000063fu, ImmutableString("max(20B20B").mangledNameHash());
     ASSERT_EQ(0x000000bcu, ImmutableString("max(30B30B").mangledNameHash());
-    ASSERT_EQ(0x000007d7u, ImmutableString("clamp(00B00B00B").mangledNameHash());
-    ASSERT_EQ(0x00000561u, ImmutableString("clamp(10B00B00B").mangledNameHash());
-    ASSERT_EQ(0x00000636u, ImmutableString("clamp(20B00B00B").mangledNameHash());
-    ASSERT_EQ(0x0000054fu, ImmutableString("clamp(30B00B00B").mangledNameHash());
+    ASSERT_EQ(0x000007d8u, ImmutableString("clamp(00B00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000564u, ImmutableString("clamp(10B00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000638u, ImmutableString("clamp(20B00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000552u, ImmutableString("clamp(30B00B00B").mangledNameHash());
     ASSERT_EQ(0x00000275u, ImmutableString("clamp(10B10B10B").mangledNameHash());
     ASSERT_EQ(0x000008e2u, ImmutableString("clamp(20B20B20B").mangledNameHash());
     ASSERT_EQ(0x00000029u, ImmutableString("clamp(30B30B30B").mangledNameHash());
     ASSERT_EQ(0x00000299u, ImmutableString("mix(00B00B00B").mangledNameHash());
-    ASSERT_EQ(0x00000674u, ImmutableString("mix(10B10B00B").mangledNameHash());
+    ASSERT_EQ(0x00000676u, ImmutableString("mix(10B10B00B").mangledNameHash());
     ASSERT_EQ(0x0000001du, ImmutableString("mix(20B20B00B").mangledNameHash());
-    ASSERT_EQ(0x00000720u, ImmutableString("mix(30B30B00B").mangledNameHash());
-    ASSERT_EQ(0x000005bfu, ImmutableString("mix(10B10B10B").mangledNameHash());
-    ASSERT_EQ(0x0000090bu, ImmutableString("mix(20B20B20B").mangledNameHash());
-    ASSERT_EQ(0x00000423u, ImmutableString("mix(30B30B30B").mangledNameHash());
-    ASSERT_EQ(0x000007eeu, ImmutableString("step(00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000721u, ImmutableString("mix(30B30B00B").mangledNameHash());
+    ASSERT_EQ(0x000005c1u, ImmutableString("mix(10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000189u, ImmutableString("mix(20B20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000425u, ImmutableString("mix(30B30B30B").mangledNameHash());
+    ASSERT_EQ(0x000007efu, ImmutableString("step(00B00B").mangledNameHash());
     ASSERT_EQ(0x0000019bu, ImmutableString("step(10B10B").mangledNameHash());
     ASSERT_EQ(0x0000009du, ImmutableString("step(20B20B").mangledNameHash());
-    ASSERT_EQ(0x000003bfu, ImmutableString("step(30B30B").mangledNameHash());
-    ASSERT_EQ(0x0000073fu, ImmutableString("step(00B10B").mangledNameHash());
-    ASSERT_EQ(0x000004afu, ImmutableString("step(00B20B").mangledNameHash());
-    ASSERT_EQ(0x000003d6u, ImmutableString("step(00B30B").mangledNameHash());
-    ASSERT_EQ(0x00000694u, ImmutableString("smoothstep(00B00B00B").mangledNameHash());
-    ASSERT_EQ(0x00000396u, ImmutableString("smoothstep(10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000003c1u, ImmutableString("step(30B30B").mangledNameHash());
+    ASSERT_EQ(0x00000740u, ImmutableString("step(00B10B").mangledNameHash());
+    ASSERT_EQ(0x000004b2u, ImmutableString("step(00B20B").mangledNameHash());
+    ASSERT_EQ(0x000003d8u, ImmutableString("step(00B30B").mangledNameHash());
+    ASSERT_EQ(0x00000696u, ImmutableString("smoothstep(00B00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000397u, ImmutableString("smoothstep(10B10B10B").mangledNameHash());
     ASSERT_EQ(0x00000244u, ImmutableString("smoothstep(20B20B20B").mangledNameHash());
     ASSERT_EQ(0x00000207u, ImmutableString("smoothstep(30B30B30B").mangledNameHash());
-    ASSERT_EQ(0x000005ddu, ImmutableString("smoothstep(00B00B10B").mangledNameHash());
+    ASSERT_EQ(0x000005dfu, ImmutableString("smoothstep(00B00B10B").mangledNameHash());
     ASSERT_EQ(0x00000347u, ImmutableString("smoothstep(00B00B20B").mangledNameHash());
     ASSERT_EQ(0x000001efu, ImmutableString("smoothstep(00B00B30B").mangledNameHash());
-    ASSERT_EQ(0x00000833u, ImmutableString("length(00B").mangledNameHash());
-    ASSERT_EQ(0x00000784u, ImmutableString("length(10B").mangledNameHash());
+    ASSERT_EQ(0x00000834u, ImmutableString("length(00B").mangledNameHash());
+    ASSERT_EQ(0x00000785u, ImmutableString("length(10B").mangledNameHash());
     ASSERT_EQ(0x0000026bu, ImmutableString("length(20B").mangledNameHash());
-    ASSERT_EQ(0x00000615u, ImmutableString("length(30B").mangledNameHash());
+    ASSERT_EQ(0x00000617u, ImmutableString("length(30B").mangledNameHash());
     ASSERT_EQ(0x00000862u, ImmutableString("distance(00B00B").mangledNameHash());
     ASSERT_EQ(0x000000deu, ImmutableString("distance(10B10B").mangledNameHash());
-    ASSERT_EQ(0x000005acu, ImmutableString("distance(20B20B").mangledNameHash());
-    ASSERT_EQ(0x00000538u, ImmutableString("distance(30B30B").mangledNameHash());
-    ASSERT_EQ(0x0000078au, ImmutableString("dot(00B00B").mangledNameHash());
+    ASSERT_EQ(0x000005aeu, ImmutableString("distance(20B20B").mangledNameHash());
+    ASSERT_EQ(0x0000053bu, ImmutableString("distance(30B30B").mangledNameHash());
+    ASSERT_EQ(0x0000078bu, ImmutableString("dot(00B00B").mangledNameHash());
     ASSERT_EQ(0x00000300u, ImmutableString("dot(10B10B").mangledNameHash());
-    ASSERT_EQ(0x0000043eu, ImmutableString("dot(20B20B").mangledNameHash());
-    ASSERT_EQ(0x00000546u, ImmutableString("dot(30B30B").mangledNameHash());
-    ASSERT_EQ(0x00000633u, ImmutableString("cross(20B20B").mangledNameHash());
-    ASSERT_EQ(0x000004fau, ImmutableString("normalize(00B").mangledNameHash());
-    ASSERT_EQ(0x000005e2u, ImmutableString("normalize(10B").mangledNameHash());
+    ASSERT_EQ(0x00000440u, ImmutableString("dot(20B20B").mangledNameHash());
+    ASSERT_EQ(0x00000549u, ImmutableString("dot(30B30B").mangledNameHash());
+    ASSERT_EQ(0x00000635u, ImmutableString("cross(20B20B").mangledNameHash());
+    ASSERT_EQ(0x000004fdu, ImmutableString("normalize(00B").mangledNameHash());
+    ASSERT_EQ(0x000005e4u, ImmutableString("normalize(10B").mangledNameHash());
     ASSERT_EQ(0x0000012eu, ImmutableString("normalize(20B").mangledNameHash());
-    ASSERT_EQ(0x00000445u, ImmutableString("normalize(30B").mangledNameHash());
-    ASSERT_EQ(0x0000064eu, ImmutableString("faceforward(00B00B00B").mangledNameHash());
-    ASSERT_EQ(0x000003edu, ImmutableString("faceforward(10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000448u, ImmutableString("normalize(30B").mangledNameHash());
+    ASSERT_EQ(0x00000650u, ImmutableString("faceforward(00B00B00B").mangledNameHash());
+    ASSERT_EQ(0x000003efu, ImmutableString("faceforward(10B10B10B").mangledNameHash());
     ASSERT_EQ(0x000001a9u, ImmutableString("faceforward(20B20B20B").mangledNameHash());
     ASSERT_EQ(0x0000085bu, ImmutableString("faceforward(30B30B30B").mangledNameHash());
     ASSERT_EQ(0x000002d3u, ImmutableString("reflect(00B00B").mangledNameHash());
     ASSERT_EQ(0x000002e9u, ImmutableString("reflect(10B10B").mangledNameHash());
-    ASSERT_EQ(0x00000584u, ImmutableString("reflect(20B20B").mangledNameHash());
-    ASSERT_EQ(0x00000598u, ImmutableString("reflect(30B30B").mangledNameHash());
+    ASSERT_EQ(0x00000587u, ImmutableString("reflect(20B20B").mangledNameHash());
+    ASSERT_EQ(0x0000059au, ImmutableString("reflect(30B30B").mangledNameHash());
     ASSERT_EQ(0x0000011au, ImmutableString("refract(00B00B00B").mangledNameHash());
     ASSERT_EQ(0x000002eau, ImmutableString("refract(10B10B00B").mangledNameHash());
-    ASSERT_EQ(0x0000035cu, ImmutableString("refract(20B20B00B").mangledNameHash());
-    ASSERT_EQ(0x000005fcu, ImmutableString("refract(30B30B00B").mangledNameHash());
+    ASSERT_EQ(0x0000035du, ImmutableString("refract(20B20B00B").mangledNameHash());
+    ASSERT_EQ(0x000005feu, ImmutableString("refract(30B30B00B").mangledNameHash());
     ASSERT_EQ(0x00000228u, ImmutableString("matrixCompMult(50B50B").mangledNameHash());
-    ASSERT_EQ(0x00000791u, ImmutableString("matrixCompMult(A0BA0B").mangledNameHash());
-    ASSERT_EQ(0x00000601u, ImmutableString("matrixCompMult(F0BF0B").mangledNameHash());
+    ASSERT_EQ(0x00000792u, ImmutableString("matrixCompMult(A0BA0B").mangledNameHash());
+    ASSERT_EQ(0x00000603u, ImmutableString("matrixCompMult(F0BF0B").mangledNameHash());
     ASSERT_EQ(0x000001dcu, ImmutableString("lessThan(10B10B").mangledNameHash());
     ASSERT_EQ(0x00000063u, ImmutableString("lessThan(20B20B").mangledNameHash());
-    ASSERT_EQ(0x00000632u, ImmutableString("lessThan(30B30B").mangledNameHash());
-    ASSERT_EQ(0x00000564u, ImmutableString("lessThan(10D10D").mangledNameHash());
+    ASSERT_EQ(0x00000634u, ImmutableString("lessThan(30B30B").mangledNameHash());
+    ASSERT_EQ(0x00000567u, ImmutableString("lessThan(10D10D").mangledNameHash());
     ASSERT_EQ(0x00000082u, ImmutableString("lessThan(20D20D").mangledNameHash());
-    ASSERT_EQ(0x0000082bu, ImmutableString("lessThan(30D30D").mangledNameHash());
+    ASSERT_EQ(0x0000082cu, ImmutableString("lessThan(30D30D").mangledNameHash());
     ASSERT_EQ(0x00000294u, ImmutableString("lessThanEqual(10B10B").mangledNameHash());
     ASSERT_EQ(0x00000289u, ImmutableString("lessThanEqual(20B20B").mangledNameHash());
     ASSERT_EQ(0x00000011u, ImmutableString("lessThanEqual(30B30B").mangledNameHash());
-    ASSERT_EQ(0x000006a2u, ImmutableString("lessThanEqual(10D10D").mangledNameHash());
+    ASSERT_EQ(0x000006a4u, ImmutableString("lessThanEqual(10D10D").mangledNameHash());
     ASSERT_EQ(0x000001e4u, ImmutableString("lessThanEqual(20D20D").mangledNameHash());
-    ASSERT_EQ(0x000004a9u, ImmutableString("lessThanEqual(30D30D").mangledNameHash());
-    ASSERT_EQ(0x0000047bu, ImmutableString("greaterThan(10B10B").mangledNameHash());
+    ASSERT_EQ(0x000004acu, ImmutableString("lessThanEqual(30D30D").mangledNameHash());
+    ASSERT_EQ(0x0000047eu, ImmutableString("greaterThan(10B10B").mangledNameHash());
     ASSERT_EQ(0x0000087eu, ImmutableString("greaterThan(20B20B").mangledNameHash());
     ASSERT_EQ(0x000001a7u, ImmutableString("greaterThan(30B30B").mangledNameHash());
-    ASSERT_EQ(0x00000777u, ImmutableString("greaterThan(10D10D").mangledNameHash());
-    ASSERT_EQ(0x0000077eu, ImmutableString("greaterThan(20D20D").mangledNameHash());
+    ASSERT_EQ(0x00000778u, ImmutableString("greaterThan(10D10D").mangledNameHash());
+    ASSERT_EQ(0x0000077fu, ImmutableString("greaterThan(20D20D").mangledNameHash());
     ASSERT_EQ(0x00000094u, ImmutableString("greaterThan(30D30D").mangledNameHash());
-    ASSERT_EQ(0x0000074eu, ImmutableString("greaterThanEqual(10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000074fu, ImmutableString("greaterThanEqual(10B10B").mangledNameHash());
     ASSERT_EQ(0x0000002fu, ImmutableString("greaterThanEqual(20B20B").mangledNameHash());
     ASSERT_EQ(0x000001d4u, ImmutableString("greaterThanEqual(30B30B").mangledNameHash());
     ASSERT_EQ(0x000000e6u, ImmutableString("greaterThanEqual(10D10D").mangledNameHash());
     ASSERT_EQ(0x00000878u, ImmutableString("greaterThanEqual(20D20D").mangledNameHash());
     ASSERT_EQ(0x00000211u, ImmutableString("greaterThanEqual(30D30D").mangledNameHash());
-    ASSERT_EQ(0x0000046au, ImmutableString("equal(10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000046du, ImmutableString("equal(10B10B").mangledNameHash());
     ASSERT_EQ(0x0000033au, ImmutableString("equal(20B20B").mangledNameHash());
     ASSERT_EQ(0x00000229u, ImmutableString("equal(30B30B").mangledNameHash());
     ASSERT_EQ(0x0000004bu, ImmutableString("equal(10D10D").mangledNameHash());
     ASSERT_EQ(0x000008a5u, ImmutableString("equal(20D20D").mangledNameHash());
-    ASSERT_EQ(0x000003b3u, ImmutableString("equal(30D30D").mangledNameHash());
-    ASSERT_EQ(0x00000587u, ImmutableString("equal(10F10F").mangledNameHash());
-    ASSERT_EQ(0x00000465u, ImmutableString("equal(20F20F").mangledNameHash());
-    ASSERT_EQ(0x00000402u, ImmutableString("equal(30F30F").mangledNameHash());
-    ASSERT_EQ(0x0000082fu, ImmutableString("notEqual(10B10B").mangledNameHash());
-    ASSERT_EQ(0x000003aau, ImmutableString("notEqual(20B20B").mangledNameHash());
-    ASSERT_EQ(0x0000034cu, ImmutableString("notEqual(30B30B").mangledNameHash());
-    ASSERT_EQ(0x000003e0u, ImmutableString("notEqual(10D10D").mangledNameHash());
-    ASSERT_EQ(0x00000499u, ImmutableString("notEqual(20D20D").mangledNameHash());
-    ASSERT_EQ(0x00000520u, ImmutableString("notEqual(30D30D").mangledNameHash());
-    ASSERT_EQ(0x00000692u, ImmutableString("notEqual(10F10F").mangledNameHash());
-    ASSERT_EQ(0x0000051bu, ImmutableString("notEqual(20F20F").mangledNameHash());
-    ASSERT_EQ(0x00000408u, ImmutableString("notEqual(30F30F").mangledNameHash());
+    ASSERT_EQ(0x000003b5u, ImmutableString("equal(30D30D").mangledNameHash());
+    ASSERT_EQ(0x0000058au, ImmutableString("equal(10F10F").mangledNameHash());
+    ASSERT_EQ(0x00000468u, ImmutableString("equal(20F20F").mangledNameHash());
+    ASSERT_EQ(0x00000404u, ImmutableString("equal(30F30F").mangledNameHash());
+    ASSERT_EQ(0x00000830u, ImmutableString("notEqual(10B10B").mangledNameHash());
+    ASSERT_EQ(0x000003acu, ImmutableString("notEqual(20B20B").mangledNameHash());
+    ASSERT_EQ(0x0000034du, ImmutableString("notEqual(30B30B").mangledNameHash());
+    ASSERT_EQ(0x000003e2u, ImmutableString("notEqual(10D10D").mangledNameHash());
+    ASSERT_EQ(0x0000049cu, ImmutableString("notEqual(20D20D").mangledNameHash());
+    ASSERT_EQ(0x00000523u, ImmutableString("notEqual(30D30D").mangledNameHash());
+    ASSERT_EQ(0x00000694u, ImmutableString("notEqual(10F10F").mangledNameHash());
+    ASSERT_EQ(0x0000051eu, ImmutableString("notEqual(20F20F").mangledNameHash());
+    ASSERT_EQ(0x0000040au, ImmutableString("notEqual(30F30F").mangledNameHash());
     ASSERT_EQ(0x0000018au, ImmutableString("any(10F").mangledNameHash());
-    ASSERT_EQ(0x000005ebu, ImmutableString("any(20F").mangledNameHash());
-    ASSERT_EQ(0x00000537u, ImmutableString("any(30F").mangledNameHash());
+    ASSERT_EQ(0x000005edu, ImmutableString("any(20F").mangledNameHash());
+    ASSERT_EQ(0x0000053au, ImmutableString("any(30F").mangledNameHash());
     ASSERT_EQ(0x00000085u, ImmutableString("all(10F").mangledNameHash());
-    ASSERT_EQ(0x000003f4u, ImmutableString("all(20F").mangledNameHash());
+    ASSERT_EQ(0x000003f6u, ImmutableString("all(20F").mangledNameHash());
     ASSERT_EQ(0x0000012du, ImmutableString("all(30F").mangledNameHash());
     ASSERT_EQ(0x0000000fu, ImmutableString("not(10F").mangledNameHash());
     ASSERT_EQ(0x000000c4u, ImmutableString("not(20F").mangledNameHash());
     ASSERT_EQ(0x0000017bu, ImmutableString("not(30F").mangledNameHash());
-    ASSERT_EQ(0x000006d5u, ImmutableString("gl_DepthRangeParameters").mangledNameHash());
+    ASSERT_EQ(0x000006d7u, ImmutableString("gl_DepthRangeParameters").mangledNameHash());
     ASSERT_EQ(0x0000013eu, ImmutableString("gl_DepthRange").mangledNameHash());
     ASSERT_EQ(0x000008d0u, ImmutableString("gl_MaxVertexAttribs").mangledNameHash());
     ASSERT_EQ(0x00000309u, ImmutableString("gl_MaxVertexUniformVectors").mangledNameHash());
     ASSERT_EQ(0x000001d3u, ImmutableString("gl_MaxVertexTextureImageUnits").mangledNameHash());
-    ASSERT_EQ(0x00000582u, ImmutableString("gl_MaxCombinedTextureImageUnits").mangledNameHash());
-    ASSERT_EQ(0x0000054bu, ImmutableString("gl_MaxTextureImageUnits").mangledNameHash());
-    ASSERT_EQ(0x0000066bu, ImmutableString("gl_MaxFragmentUniformVectors").mangledNameHash());
-    ASSERT_EQ(0x0000052fu, ImmutableString("gl_MaxDrawBuffers").mangledNameHash());
+    ASSERT_EQ(0x00000585u, ImmutableString("gl_MaxCombinedTextureImageUnits").mangledNameHash());
+    ASSERT_EQ(0x0000054eu, ImmutableString("gl_MaxTextureImageUnits").mangledNameHash());
+    ASSERT_EQ(0x0000066du, ImmutableString("gl_MaxFragmentUniformVectors").mangledNameHash());
+    ASSERT_EQ(0x00000532u, ImmutableString("gl_MaxDrawBuffers").mangledNameHash());
     ASSERT_EQ(0x0000019cu, ImmutableString("gl_MaxDualSourceDrawBuffersEXT").mangledNameHash());
-    ASSERT_EQ(0x000004f3u, ImmutableString("gl_FragCoord").mangledNameHash());
+    ASSERT_EQ(0x000004f6u, ImmutableString("gl_FragCoord").mangledNameHash());
     ASSERT_EQ(0x000001d6u, ImmutableString("gl_FrontFacing").mangledNameHash());
-    ASSERT_EQ(0x0000055cu, ImmutableString("gl_PointCoord").mangledNameHash());
+    ASSERT_EQ(0x0000055fu, ImmutableString("gl_PointCoord").mangledNameHash());
     ASSERT_EQ(0x00000233u, ImmutableString("gl_PointSize").mangledNameHash());
+    ASSERT_EQ(0x00000495u, ImmutableString("gl_DrawID").mangledNameHash());
     ASSERT_EQ(0x0000085du, ImmutableString("atomicCounterAdd(00G00E").mangledNameHash());
-    ASSERT_EQ(0x0000060cu, ImmutableString("atomicCounterSubtract(00G00E").mangledNameHash());
-    ASSERT_EQ(0x00000531u, ImmutableString("atomicCounterMin(00G00E").mangledNameHash());
-    ASSERT_EQ(0x000004acu, ImmutableString("atomicCounterMax(00G00E").mangledNameHash());
-    ASSERT_EQ(0x00000859u, ImmutableString("atomicCounterAnd(00G00E").mangledNameHash());
-    ASSERT_EQ(0x000003beu, ImmutableString("atomicCounterOr(00G00E").mangledNameHash());
-    ASSERT_EQ(0x000005b2u, ImmutableString("atomicCounterXor(00G00E").mangledNameHash());
-    ASSERT_EQ(0x000004adu, ImmutableString("atomicCounterExchange(00G00E").mangledNameHash());
+    ASSERT_EQ(0x0000060eu, ImmutableString("atomicCounterSubtract(00G00E").mangledNameHash());
+    ASSERT_EQ(0x00000534u, ImmutableString("atomicCounterMin(00G00E").mangledNameHash());
+    ASSERT_EQ(0x000004afu, ImmutableString("atomicCounterMax(00G00E").mangledNameHash());
+    ASSERT_EQ(0x0000085au, ImmutableString("atomicCounterAnd(00G00E").mangledNameHash());
+    ASSERT_EQ(0x000003c0u, ImmutableString("atomicCounterOr(00G00E").mangledNameHash());
+    ASSERT_EQ(0x000005b4u, ImmutableString("atomicCounterXor(00G00E").mangledNameHash());
+    ASSERT_EQ(0x000004b0u, ImmutableString("atomicCounterExchange(00G00E").mangledNameHash());
     ASSERT_EQ(0x00000161u, ImmutableString("atomicCounterCompSwap(00G00E00E").mangledNameHash());
-    ASSERT_EQ(0x00000597u, ImmutableString("subpassLoad(01i").mangledNameHash());
-    ASSERT_EQ(0x00000788u, ImmutableString("subpassLoad(01j").mangledNameHash());
-    ASSERT_EQ(0x00000765u, ImmutableString("subpassLoad(01k").mangledNameHash());
+    ASSERT_EQ(0x00000599u, ImmutableString("subpassLoad(01i").mangledNameHash());
+    ASSERT_EQ(0x00000789u, ImmutableString("subpassLoad(01j").mangledNameHash());
+    ASSERT_EQ(0x00000766u, ImmutableString("subpassLoad(01k").mangledNameHash());
     ASSERT_EQ(0x000001bau, ImmutableString("subpassLoad(01l00D").mangledNameHash());
     ASSERT_EQ(0x000002cfu, ImmutableString("subpassLoad(01m00D").mangledNameHash());
-    ASSERT_EQ(0x000005d6u, ImmutableString("subpassLoad(01n00D").mangledNameHash());
-    ASSERT_EQ(0x00000798u, ImmutableString("anyInvocation(00F").mangledNameHash());
-    ASSERT_EQ(0x0000061du, ImmutableString("allInvocations(00F").mangledNameHash());
-    ASSERT_EQ(0x0000051cu, ImmutableString("allInvocationsEqual(00F").mangledNameHash());
+    ASSERT_EQ(0x000005d8u, ImmutableString("subpassLoad(01n00D").mangledNameHash());
+    ASSERT_EQ(0x00000799u, ImmutableString("anyInvocation(00F").mangledNameHash());
+    ASSERT_EQ(0x0000061fu, ImmutableString("allInvocations(00F").mangledNameHash());
+    ASSERT_EQ(0x0000051fu, ImmutableString("allInvocationsEqual(00F").mangledNameHash());
     ASSERT_EQ(0x00000343u, ImmutableString("mix(00D00D00F").mangledNameHash());
     ASSERT_EQ(0x00000314u, ImmutableString("mix(10D10D10F").mangledNameHash());
     ASSERT_EQ(0x0000003du, ImmutableString("mix(20D20D20F").mangledNameHash());
     ASSERT_EQ(0x00000147u, ImmutableString("mix(30D30D30F").mangledNameHash());
     ASSERT_EQ(0x00000341u, ImmutableString("mix(00E00E00F").mangledNameHash());
     ASSERT_EQ(0x000008a7u, ImmutableString("mix(10E10E10F").mangledNameHash());
-    ASSERT_EQ(0x0000047eu, ImmutableString("mix(20E20E20F").mangledNameHash());
+    ASSERT_EQ(0x00000481u, ImmutableString("mix(20E20E20F").mangledNameHash());
     ASSERT_EQ(0x000002afu, ImmutableString("mix(30E30E30F").mangledNameHash());
     ASSERT_EQ(0x000001b6u, ImmutableString("mix(00F00F00F").mangledNameHash());
-    ASSERT_EQ(0x00000432u, ImmutableString("mix(10F10F10F").mangledNameHash());
+    ASSERT_EQ(0x00000434u, ImmutableString("mix(10F10F10F").mangledNameHash());
     ASSERT_EQ(0x000001eeu, ImmutableString("mix(20F20F20F").mangledNameHash());
     ASSERT_EQ(0x00000290u, ImmutableString("mix(30F30F30F").mangledNameHash());
     ASSERT_EQ(0x00000256u, ImmutableString("textureSamples(00P").mangledNameHash());
@@ -1200,7 +1200,7 @@
     ASSERT_EQ(0x00000245u, ImmutableString("textureSamples(00b").mangledNameHash());
     ASSERT_EQ(0x0000033eu, ImmutableString("textureSamples(00Q").mangledNameHash());
     ASSERT_EQ(0x0000025bu, ImmutableString("textureSamples(00W").mangledNameHash());
-    ASSERT_EQ(0x0000042fu, ImmutableString("textureSamples(00c").mangledNameHash());
+    ASSERT_EQ(0x00000431u, ImmutableString("textureSamples(00c").mangledNameHash());
     ASSERT_EQ(0x0000001eu, ImmutableString("imageSamples(01Q").mangledNameHash());
     ASSERT_EQ(0x00000204u, ImmutableString("imageSamples(01R").mangledNameHash());
     ASSERT_EQ(0x0000001cu, ImmutableString("imageSamples(01S").mangledNameHash());
@@ -1208,595 +1208,595 @@
     ASSERT_EQ(0x0000001au, ImmutableString("imageSamples(01U").mangledNameHash());
     ASSERT_EQ(0x00000019u, ImmutableString("imageSamples(01V").mangledNameHash());
     ASSERT_EQ(0x0000024bu, ImmutableString("imageAtomicExchange(00y10D00B").mangledNameHash());
-    ASSERT_EQ(0x0000057bu, ImmutableString("imageAtomicExchange(00z10D00B").mangledNameHash());
+    ASSERT_EQ(0x0000057eu, ImmutableString("imageAtomicExchange(00z10D00B").mangledNameHash());
     ASSERT_EQ(0x00000262u, ImmutableString("imageAtomicExchange(01A10D00B").mangledNameHash());
     ASSERT_EQ(0x0000029du, ImmutableString("imageAtomicExchange(01B20D00B").mangledNameHash());
     ASSERT_EQ(0x0000086au, ImmutableString("imageAtomicExchange(01C20D00B").mangledNameHash());
-    ASSERT_EQ(0x000003c5u, ImmutableString("imageAtomicExchange(01D20D00B").mangledNameHash());
-    ASSERT_EQ(0x000006e9u, ImmutableString("imageAtomicExchange(01H20D00B").mangledNameHash());
-    ASSERT_EQ(0x000004c8u, ImmutableString("imageAtomicExchange(01I20D00B").mangledNameHash());
-    ASSERT_EQ(0x00000439u, ImmutableString("imageAtomicExchange(01J20D00B").mangledNameHash());
-    ASSERT_EQ(0x000007dbu, ImmutableString("imageAtomicExchange(01f00D00B").mangledNameHash());
+    ASSERT_EQ(0x000003c7u, ImmutableString("imageAtomicExchange(01D20D00B").mangledNameHash());
+    ASSERT_EQ(0x000006ebu, ImmutableString("imageAtomicExchange(01H20D00B").mangledNameHash());
+    ASSERT_EQ(0x000004cbu, ImmutableString("imageAtomicExchange(01I20D00B").mangledNameHash());
+    ASSERT_EQ(0x0000043bu, ImmutableString("imageAtomicExchange(01J20D00B").mangledNameHash());
+    ASSERT_EQ(0x000007dcu, ImmutableString("imageAtomicExchange(01f00D00B").mangledNameHash());
     ASSERT_EQ(0x000008d4u, ImmutableString("imageAtomicExchange(01g00D00B").mangledNameHash());
-    ASSERT_EQ(0x00000570u, ImmutableString("imageAtomicExchange(01h00D00B").mangledNameHash());
+    ASSERT_EQ(0x00000573u, ImmutableString("imageAtomicExchange(01h00D00B").mangledNameHash());
     ASSERT_EQ(0x0000022au, ImmutableString("imageAtomicExchange(01E20D00B").mangledNameHash());
     ASSERT_EQ(0x000000c8u, ImmutableString("imageAtomicExchange(01F20D00B").mangledNameHash());
-    ASSERT_EQ(0x00000682u, ImmutableString("imageAtomicExchange(01G20D00B").mangledNameHash());
+    ASSERT_EQ(0x00000684u, ImmutableString("imageAtomicExchange(01G20D00B").mangledNameHash());
     ASSERT_EQ(0x00000148u, ImmutableString("imageAtomicExchange(01Z20D00B").mangledNameHash());
-    ASSERT_EQ(0x00000825u, ImmutableString("imageAtomicExchange(01a20D00B").mangledNameHash());
+    ASSERT_EQ(0x00000826u, ImmutableString("imageAtomicExchange(01a20D00B").mangledNameHash());
     ASSERT_EQ(0x0000017au, ImmutableString("imageAtomicExchange(01b20D00B").mangledNameHash());
-    ASSERT_EQ(0x00000581u, ImmutableString("imageAtomicExchange(01K00D00B").mangledNameHash());
-    ASSERT_EQ(0x00000405u, ImmutableString("imageAtomicExchange(01L00D00B").mangledNameHash());
+    ASSERT_EQ(0x00000584u, ImmutableString("imageAtomicExchange(01K00D00B").mangledNameHash());
+    ASSERT_EQ(0x00000407u, ImmutableString("imageAtomicExchange(01L00D00B").mangledNameHash());
     ASSERT_EQ(0x000001f0u, ImmutableString("imageAtomicExchange(01M00D00B").mangledNameHash());
     ASSERT_EQ(0x00000279u, ImmutableString("imageAtomicExchange(01N10D00B").mangledNameHash());
-    ASSERT_EQ(0x000006bau, ImmutableString("imageAtomicExchange(01O10D00B").mangledNameHash());
+    ASSERT_EQ(0x000006bcu, ImmutableString("imageAtomicExchange(01O10D00B").mangledNameHash());
     ASSERT_EQ(0x000002cbu, ImmutableString("imageAtomicExchange(01P10D00B").mangledNameHash());
     ASSERT_EQ(0x00000190u, ImmutableString("imageAtomicExchange(01W10D00B").mangledNameHash());
-    ASSERT_EQ(0x0000080eu, ImmutableString("imageAtomicExchange(01X10D00B").mangledNameHash());
-    ASSERT_EQ(0x000006b6u, ImmutableString("imageAtomicExchange(01Y10D00B").mangledNameHash());
-    ASSERT_EQ(0x0000046eu, ImmutableString("imageAtomicExchange(01Q10D00D00B").mangledNameHash());
+    ASSERT_EQ(0x0000080fu, ImmutableString("imageAtomicExchange(01X10D00B").mangledNameHash());
+    ASSERT_EQ(0x000006b8u, ImmutableString("imageAtomicExchange(01Y10D00B").mangledNameHash());
+    ASSERT_EQ(0x00000471u, ImmutableString("imageAtomicExchange(01Q10D00D00B").mangledNameHash());
     ASSERT_EQ(0x00000021u, ImmutableString("imageAtomicExchange(01R10D00D00B").mangledNameHash());
     ASSERT_EQ(0x000001ffu, ImmutableString("imageAtomicExchange(01S10D00D00B").mangledNameHash());
-    ASSERT_EQ(0x000005bbu, ImmutableString("imageAtomicExchange(01T20D00D00B").mangledNameHash());
-    ASSERT_EQ(0x00000656u, ImmutableString("imageAtomicExchange(01U20D00D00B").mangledNameHash());
+    ASSERT_EQ(0x000005bdu, ImmutableString("imageAtomicExchange(01T20D00D00B").mangledNameHash());
+    ASSERT_EQ(0x00000658u, ImmutableString("imageAtomicExchange(01U20D00D00B").mangledNameHash());
     ASSERT_EQ(0x00000249u, ImmutableString("imageAtomicExchange(01V20D00D00B").mangledNameHash());
-    ASSERT_EQ(0x000005abu, ImmutableString("dFdxFine(00B").mangledNameHash());
-    ASSERT_EQ(0x00000510u, ImmutableString("dFdxFine(10B").mangledNameHash());
-    ASSERT_EQ(0x0000071cu, ImmutableString("dFdxFine(20B").mangledNameHash());
-    ASSERT_EQ(0x00000667u, ImmutableString("dFdxFine(30B").mangledNameHash());
-    ASSERT_EQ(0x0000047fu, ImmutableString("dFdyFine(00B").mangledNameHash());
-    ASSERT_EQ(0x00000454u, ImmutableString("dFdyFine(10B").mangledNameHash());
-    ASSERT_EQ(0x0000050cu, ImmutableString("dFdyFine(20B").mangledNameHash());
-    ASSERT_EQ(0x000005d1u, ImmutableString("dFdyFine(30B").mangledNameHash());
-    ASSERT_EQ(0x00000359u, ImmutableString("dFdxCoarse(00B").mangledNameHash());
-    ASSERT_EQ(0x00000422u, ImmutableString("dFdxCoarse(10B").mangledNameHash());
-    ASSERT_EQ(0x00000693u, ImmutableString("dFdxCoarse(20B").mangledNameHash());
+    ASSERT_EQ(0x000005adu, ImmutableString("dFdxFine(00B").mangledNameHash());
+    ASSERT_EQ(0x00000513u, ImmutableString("dFdxFine(10B").mangledNameHash());
+    ASSERT_EQ(0x0000071du, ImmutableString("dFdxFine(20B").mangledNameHash());
+    ASSERT_EQ(0x00000669u, ImmutableString("dFdxFine(30B").mangledNameHash());
+    ASSERT_EQ(0x00000482u, ImmutableString("dFdyFine(00B").mangledNameHash());
+    ASSERT_EQ(0x00000457u, ImmutableString("dFdyFine(10B").mangledNameHash());
+    ASSERT_EQ(0x0000050fu, ImmutableString("dFdyFine(20B").mangledNameHash());
+    ASSERT_EQ(0x000005d3u, ImmutableString("dFdyFine(30B").mangledNameHash());
+    ASSERT_EQ(0x0000035au, ImmutableString("dFdxCoarse(00B").mangledNameHash());
+    ASSERT_EQ(0x00000424u, ImmutableString("dFdxCoarse(10B").mangledNameHash());
+    ASSERT_EQ(0x00000695u, ImmutableString("dFdxCoarse(20B").mangledNameHash());
     ASSERT_EQ(0x000002b8u, ImmutableString("dFdxCoarse(30B").mangledNameHash());
-    ASSERT_EQ(0x000004b5u, ImmutableString("dFdyCoarse(00B").mangledNameHash());
-    ASSERT_EQ(0x000007e0u, ImmutableString("dFdyCoarse(10B").mangledNameHash());
-    ASSERT_EQ(0x000005e3u, ImmutableString("dFdyCoarse(20B").mangledNameHash());
-    ASSERT_EQ(0x00000352u, ImmutableString("dFdyCoarse(30B").mangledNameHash());
+    ASSERT_EQ(0x000004b8u, ImmutableString("dFdyCoarse(00B").mangledNameHash());
+    ASSERT_EQ(0x000007e1u, ImmutableString("dFdyCoarse(10B").mangledNameHash());
+    ASSERT_EQ(0x000005e5u, ImmutableString("dFdyCoarse(20B").mangledNameHash());
+    ASSERT_EQ(0x00000353u, ImmutableString("dFdyCoarse(30B").mangledNameHash());
     ASSERT_EQ(0x00000344u, ImmutableString("fwidthFine(00B").mangledNameHash());
     ASSERT_EQ(0x000000a7u, ImmutableString("fwidthFine(10B").mangledNameHash());
-    ASSERT_EQ(0x000004f6u, ImmutableString("fwidthFine(20B").mangledNameHash());
-    ASSERT_EQ(0x0000044cu, ImmutableString("fwidthFine(30B").mangledNameHash());
-    ASSERT_EQ(0x000006ceu, ImmutableString("fwidthCoarse(00B").mangledNameHash());
-    ASSERT_EQ(0x0000068eu, ImmutableString("fwidthCoarse(10B").mangledNameHash());
-    ASSERT_EQ(0x00000462u, ImmutableString("fwidthCoarse(20B").mangledNameHash());
-    ASSERT_EQ(0x00000521u, ImmutableString("fwidthCoarse(30B").mangledNameHash());
-    ASSERT_EQ(0x0000052eu, ImmutableString("textureQueryLevels(00g").mangledNameHash());
-    ASSERT_EQ(0x00000527u, ImmutableString("textureQueryLevels(00o").mangledNameHash());
-    ASSERT_EQ(0x00000534u, ImmutableString("textureQueryLevels(00t").mangledNameHash());
-    ASSERT_EQ(0x0000053bu, ImmutableString("textureQueryLevels(00I").mangledNameHash());
-    ASSERT_EQ(0x00000549u, ImmutableString("textureQueryLevels(00R").mangledNameHash());
-    ASSERT_EQ(0x00000543u, ImmutableString("textureQueryLevels(00X").mangledNameHash());
-    ASSERT_EQ(0x0000053cu, ImmutableString("textureQueryLevels(00J").mangledNameHash());
-    ASSERT_EQ(0x0000054au, ImmutableString("textureQueryLevels(00S").mangledNameHash());
-    ASSERT_EQ(0x00000544u, ImmutableString("textureQueryLevels(00Y").mangledNameHash());
-    ASSERT_EQ(0x0000053du, ImmutableString("textureQueryLevels(00K").mangledNameHash());
-    ASSERT_EQ(0x00000547u, ImmutableString("textureQueryLevels(00T").mangledNameHash());
-    ASSERT_EQ(0x00000545u, ImmutableString("textureQueryLevels(00Z").mangledNameHash());
-    ASSERT_EQ(0x00000528u, ImmutableString("textureQueryLevels(00h").mangledNameHash());
-    ASSERT_EQ(0x0000038eu, ImmutableString("textureQueryLevels(00p").mangledNameHash());
-    ASSERT_EQ(0x00000535u, ImmutableString("textureQueryLevels(00u").mangledNameHash());
-    ASSERT_EQ(0x0000053au, ImmutableString("textureQueryLevels(00L").mangledNameHash());
-    ASSERT_EQ(0x00000548u, ImmutableString("textureQueryLevels(00U").mangledNameHash());
-    ASSERT_EQ(0x00000530u, ImmutableString("textureQueryLevels(00a").mangledNameHash());
-    ASSERT_EQ(0x0000052au, ImmutableString("textureQueryLevels(00k").mangledNameHash());
-    ASSERT_EQ(0x00000539u, ImmutableString("textureQueryLevels(00s").mangledNameHash());
-    ASSERT_EQ(0x00000533u, ImmutableString("textureQueryLevels(00x").mangledNameHash());
-    ASSERT_EQ(0x00000525u, ImmutableString("textureQueryLevels(00m").mangledNameHash());
-    ASSERT_EQ(0x0000052bu, ImmutableString("textureQueryLevels(00d").mangledNameHash());
-    ASSERT_EQ(0x0000052cu, ImmutableString("textureQueryLevels(00e").mangledNameHash());
-    ASSERT_EQ(0x00000529u, ImmutableString("textureQueryLevels(00i").mangledNameHash());
-    ASSERT_EQ(0x0000052du, ImmutableString("textureQueryLevels(00f").mangledNameHash());
-    ASSERT_EQ(0x00000524u, ImmutableString("textureQueryLevels(00l").mangledNameHash());
-    ASSERT_EQ(0x00000822u, ImmutableString("textureOffset(00f30B10D").mangledNameHash());
-    ASSERT_EQ(0x000003f6u, ImmutableString("imageSize(01K").mangledNameHash());
-    ASSERT_EQ(0x000003fbu, ImmutableString("imageSize(01L").mangledNameHash());
-    ASSERT_EQ(0x000003fcu, ImmutableString("imageSize(01M").mangledNameHash());
-    ASSERT_EQ(0x00000404u, ImmutableString("imageSize(01Z").mangledNameHash());
-    ASSERT_EQ(0x00000416u, ImmutableString("imageSize(01a").mangledNameHash());
-    ASSERT_EQ(0x00000675u, ImmutableString("imageSize(01b").mangledNameHash());
-    ASSERT_EQ(0x00000415u, ImmutableString("imageSize(01c").mangledNameHash());
-    ASSERT_EQ(0x00000419u, ImmutableString("imageSize(01d").mangledNameHash());
-    ASSERT_EQ(0x00000683u, ImmutableString("imageSize(01e").mangledNameHash());
-    ASSERT_EQ(0x000005dfu, ImmutableString("imageSize(01N").mangledNameHash());
-    ASSERT_EQ(0x00000634u, ImmutableString("imageSize(01O").mangledNameHash());
-    ASSERT_EQ(0x0000040bu, ImmutableString("imageSize(01P").mangledNameHash());
-    ASSERT_EQ(0x00000417u, ImmutableString("imageSize(01f").mangledNameHash());
-    ASSERT_EQ(0x00000681u, ImmutableString("imageSize(01g").mangledNameHash());
-    ASSERT_EQ(0x00000411u, ImmutableString("imageSize(01h").mangledNameHash());
-    ASSERT_EQ(0x0000040cu, ImmutableString("imageSize(01Q").mangledNameHash());
-    ASSERT_EQ(0x00000409u, ImmutableString("imageSize(01R").mangledNameHash());
-    ASSERT_EQ(0x0000040au, ImmutableString("imageSize(01S").mangledNameHash());
-    ASSERT_EQ(0x0000040fu, ImmutableString("imageSize(01T").mangledNameHash());
-    ASSERT_EQ(0x000006cdu, ImmutableString("imageSize(01U").mangledNameHash());
-    ASSERT_EQ(0x0000040du, ImmutableString("imageSize(01V").mangledNameHash());
+    ASSERT_EQ(0x000004f9u, ImmutableString("fwidthFine(20B").mangledNameHash());
+    ASSERT_EQ(0x0000044fu, ImmutableString("fwidthFine(30B").mangledNameHash());
+    ASSERT_EQ(0x000006d0u, ImmutableString("fwidthCoarse(00B").mangledNameHash());
+    ASSERT_EQ(0x00000690u, ImmutableString("fwidthCoarse(10B").mangledNameHash());
+    ASSERT_EQ(0x00000465u, ImmutableString("fwidthCoarse(20B").mangledNameHash());
+    ASSERT_EQ(0x00000524u, ImmutableString("fwidthCoarse(30B").mangledNameHash());
+    ASSERT_EQ(0x00000531u, ImmutableString("textureQueryLevels(00g").mangledNameHash());
+    ASSERT_EQ(0x0000052au, ImmutableString("textureQueryLevels(00o").mangledNameHash());
+    ASSERT_EQ(0x00000537u, ImmutableString("textureQueryLevels(00t").mangledNameHash());
+    ASSERT_EQ(0x0000053eu, ImmutableString("textureQueryLevels(00I").mangledNameHash());
+    ASSERT_EQ(0x0000054cu, ImmutableString("textureQueryLevels(00R").mangledNameHash());
+    ASSERT_EQ(0x00000546u, ImmutableString("textureQueryLevels(00X").mangledNameHash());
+    ASSERT_EQ(0x0000053fu, ImmutableString("textureQueryLevels(00J").mangledNameHash());
+    ASSERT_EQ(0x0000054du, ImmutableString("textureQueryLevels(00S").mangledNameHash());
+    ASSERT_EQ(0x00000547u, ImmutableString("textureQueryLevels(00Y").mangledNameHash());
+    ASSERT_EQ(0x00000540u, ImmutableString("textureQueryLevels(00K").mangledNameHash());
+    ASSERT_EQ(0x0000054au, ImmutableString("textureQueryLevels(00T").mangledNameHash());
+    ASSERT_EQ(0x00000548u, ImmutableString("textureQueryLevels(00Z").mangledNameHash());
+    ASSERT_EQ(0x0000052bu, ImmutableString("textureQueryLevels(00h").mangledNameHash());
+    ASSERT_EQ(0x0000038fu, ImmutableString("textureQueryLevels(00p").mangledNameHash());
+    ASSERT_EQ(0x00000538u, ImmutableString("textureQueryLevels(00u").mangledNameHash());
+    ASSERT_EQ(0x0000053du, ImmutableString("textureQueryLevels(00L").mangledNameHash());
+    ASSERT_EQ(0x0000054bu, ImmutableString("textureQueryLevels(00U").mangledNameHash());
+    ASSERT_EQ(0x00000533u, ImmutableString("textureQueryLevels(00a").mangledNameHash());
+    ASSERT_EQ(0x0000052du, ImmutableString("textureQueryLevels(00k").mangledNameHash());
+    ASSERT_EQ(0x0000053cu, ImmutableString("textureQueryLevels(00s").mangledNameHash());
+    ASSERT_EQ(0x00000536u, ImmutableString("textureQueryLevels(00x").mangledNameHash());
+    ASSERT_EQ(0x00000528u, ImmutableString("textureQueryLevels(00m").mangledNameHash());
+    ASSERT_EQ(0x0000052eu, ImmutableString("textureQueryLevels(00d").mangledNameHash());
+    ASSERT_EQ(0x0000052fu, ImmutableString("textureQueryLevels(00e").mangledNameHash());
+    ASSERT_EQ(0x0000052cu, ImmutableString("textureQueryLevels(00i").mangledNameHash());
+    ASSERT_EQ(0x00000530u, ImmutableString("textureQueryLevels(00f").mangledNameHash());
+    ASSERT_EQ(0x00000527u, ImmutableString("textureQueryLevels(00l").mangledNameHash());
+    ASSERT_EQ(0x00000823u, ImmutableString("textureOffset(00f30B10D").mangledNameHash());
+    ASSERT_EQ(0x000003f8u, ImmutableString("imageSize(01K").mangledNameHash());
+    ASSERT_EQ(0x000003fdu, ImmutableString("imageSize(01L").mangledNameHash());
+    ASSERT_EQ(0x000003feu, ImmutableString("imageSize(01M").mangledNameHash());
+    ASSERT_EQ(0x00000406u, ImmutableString("imageSize(01Z").mangledNameHash());
+    ASSERT_EQ(0x00000418u, ImmutableString("imageSize(01a").mangledNameHash());
+    ASSERT_EQ(0x00000677u, ImmutableString("imageSize(01b").mangledNameHash());
+    ASSERT_EQ(0x00000417u, ImmutableString("imageSize(01c").mangledNameHash());
+    ASSERT_EQ(0x0000041bu, ImmutableString("imageSize(01d").mangledNameHash());
+    ASSERT_EQ(0x00000685u, ImmutableString("imageSize(01e").mangledNameHash());
+    ASSERT_EQ(0x000005e1u, ImmutableString("imageSize(01N").mangledNameHash());
+    ASSERT_EQ(0x00000636u, ImmutableString("imageSize(01O").mangledNameHash());
+    ASSERT_EQ(0x0000040du, ImmutableString("imageSize(01P").mangledNameHash());
+    ASSERT_EQ(0x00000419u, ImmutableString("imageSize(01f").mangledNameHash());
+    ASSERT_EQ(0x00000683u, ImmutableString("imageSize(01g").mangledNameHash());
+    ASSERT_EQ(0x00000413u, ImmutableString("imageSize(01h").mangledNameHash());
+    ASSERT_EQ(0x0000040eu, ImmutableString("imageSize(01Q").mangledNameHash());
+    ASSERT_EQ(0x0000040bu, ImmutableString("imageSize(01R").mangledNameHash());
+    ASSERT_EQ(0x0000040cu, ImmutableString("imageSize(01S").mangledNameHash());
+    ASSERT_EQ(0x00000411u, ImmutableString("imageSize(01T").mangledNameHash());
+    ASSERT_EQ(0x000006cfu, ImmutableString("imageSize(01U").mangledNameHash());
+    ASSERT_EQ(0x0000040fu, ImmutableString("imageSize(01V").mangledNameHash());
     ASSERT_EQ(0x000002f9u, ImmutableString("imageAtomicAdd(00y10D00E").mangledNameHash());
     ASSERT_EQ(0x00000012u, ImmutableString("imageAtomicAdd(00z10D00E").mangledNameHash());
     ASSERT_EQ(0x00000915u, ImmutableString("imageAtomicAdd(01A10D00E").mangledNameHash());
     ASSERT_EQ(0x00000252u, ImmutableString("imageAtomicAdd(01B20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000037fu, ImmutableString("imageAtomicAdd(01C20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000380u, ImmutableString("imageAtomicAdd(01C20D00E").mangledNameHash());
     ASSERT_EQ(0x00000034u, ImmutableString("imageAtomicAdd(01D20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000787u, ImmutableString("imageAtomicAdd(01H20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000788u, ImmutableString("imageAtomicAdd(01H20D00E").mangledNameHash());
     ASSERT_EQ(0x00000142u, ImmutableString("imageAtomicAdd(01I20D00E").mangledNameHash());
-    ASSERT_EQ(0x000006afu, ImmutableString("imageAtomicAdd(01J20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000075bu, ImmutableString("imageAtomicAdd(01f00D00E").mangledNameHash());
-    ASSERT_EQ(0x000003d1u, ImmutableString("imageAtomicAdd(01g00D00E").mangledNameHash());
+    ASSERT_EQ(0x000006b1u, ImmutableString("imageAtomicAdd(01J20D00E").mangledNameHash());
+    ASSERT_EQ(0x0000075cu, ImmutableString("imageAtomicAdd(01f00D00E").mangledNameHash());
+    ASSERT_EQ(0x000003d3u, ImmutableString("imageAtomicAdd(01g00D00E").mangledNameHash());
     ASSERT_EQ(0x00000227u, ImmutableString("imageAtomicAdd(01h00D00E").mangledNameHash());
     ASSERT_EQ(0x000000d8u, ImmutableString("imageAtomicAdd(01E20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000714u, ImmutableString("imageAtomicAdd(01F20D00E").mangledNameHash());
-    ASSERT_EQ(0x000003e4u, ImmutableString("imageAtomicAdd(01G20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000605u, ImmutableString("imageAtomicAdd(01Z20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000044bu, ImmutableString("imageAtomicAdd(01a20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000736u, ImmutableString("imageAtomicAdd(01b20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000715u, ImmutableString("imageAtomicAdd(01F20D00E").mangledNameHash());
+    ASSERT_EQ(0x000003e6u, ImmutableString("imageAtomicAdd(01G20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000607u, ImmutableString("imageAtomicAdd(01Z20D00E").mangledNameHash());
+    ASSERT_EQ(0x0000044eu, ImmutableString("imageAtomicAdd(01a20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000737u, ImmutableString("imageAtomicAdd(01b20D00E").mangledNameHash());
     ASSERT_EQ(0x00000099u, ImmutableString("imageAtomicAdd(01K00D00E").mangledNameHash());
-    ASSERT_EQ(0x00000668u, ImmutableString("imageAtomicAdd(01L00D00E").mangledNameHash());
-    ASSERT_EQ(0x00000854u, ImmutableString("imageAtomicAdd(01M00D00E").mangledNameHash());
-    ASSERT_EQ(0x000003eau, ImmutableString("imageAtomicAdd(01N10D00E").mangledNameHash());
-    ASSERT_EQ(0x0000064du, ImmutableString("imageAtomicAdd(01O10D00E").mangledNameHash());
-    ASSERT_EQ(0x000007b9u, ImmutableString("imageAtomicAdd(01P10D00E").mangledNameHash());
+    ASSERT_EQ(0x0000066au, ImmutableString("imageAtomicAdd(01L00D00E").mangledNameHash());
+    ASSERT_EQ(0x00000855u, ImmutableString("imageAtomicAdd(01M00D00E").mangledNameHash());
+    ASSERT_EQ(0x000003ecu, ImmutableString("imageAtomicAdd(01N10D00E").mangledNameHash());
+    ASSERT_EQ(0x0000064fu, ImmutableString("imageAtomicAdd(01O10D00E").mangledNameHash());
+    ASSERT_EQ(0x000007bau, ImmutableString("imageAtomicAdd(01P10D00E").mangledNameHash());
     ASSERT_EQ(0x000008a3u, ImmutableString("imageAtomicAdd(01W10D00E").mangledNameHash());
-    ASSERT_EQ(0x00000803u, ImmutableString("imageAtomicAdd(01X10D00E").mangledNameHash());
+    ASSERT_EQ(0x00000804u, ImmutableString("imageAtomicAdd(01X10D00E").mangledNameHash());
     ASSERT_EQ(0x0000019eu, ImmutableString("imageAtomicAdd(01Y10D00E").mangledNameHash());
-    ASSERT_EQ(0x00000398u, ImmutableString("imageAtomicAdd(01Q10D00D00E").mangledNameHash());
-    ASSERT_EQ(0x0000039cu, ImmutableString("imageAtomicAdd(01R10D00D00E").mangledNameHash());
-    ASSERT_EQ(0x000006c6u, ImmutableString("imageAtomicAdd(01S10D00D00E").mangledNameHash());
+    ASSERT_EQ(0x00000399u, ImmutableString("imageAtomicAdd(01Q10D00D00E").mangledNameHash());
+    ASSERT_EQ(0x0000039du, ImmutableString("imageAtomicAdd(01R10D00D00E").mangledNameHash());
+    ASSERT_EQ(0x000006c8u, ImmutableString("imageAtomicAdd(01S10D00D00E").mangledNameHash());
     ASSERT_EQ(0x000008d2u, ImmutableString("imageAtomicAdd(01T20D00D00E").mangledNameHash());
-    ASSERT_EQ(0x000006b4u, ImmutableString("imageAtomicAdd(01U20D00D00E").mangledNameHash());
+    ASSERT_EQ(0x000006b6u, ImmutableString("imageAtomicAdd(01U20D00D00E").mangledNameHash());
     ASSERT_EQ(0x0000020fu, ImmutableString("imageAtomicAdd(01V20D00D00E").mangledNameHash());
-    ASSERT_EQ(0x0000069cu, ImmutableString("imageAtomicAdd(00y10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000069eu, ImmutableString("imageAtomicAdd(00y10D00D").mangledNameHash());
     ASSERT_EQ(0x00000280u, ImmutableString("imageAtomicAdd(00z10D00D").mangledNameHash());
     ASSERT_EQ(0x00000914u, ImmutableString("imageAtomicAdd(01A10D00D").mangledNameHash());
     ASSERT_EQ(0x00000251u, ImmutableString("imageAtomicAdd(01B20D00D").mangledNameHash());
     ASSERT_EQ(0x000002f8u, ImmutableString("imageAtomicAdd(01C20D00D").mangledNameHash());
-    ASSERT_EQ(0x000007acu, ImmutableString("imageAtomicAdd(01D20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000786u, ImmutableString("imageAtomicAdd(01H20D00D").mangledNameHash());
-    ASSERT_EQ(0x000007c8u, ImmutableString("imageAtomicAdd(01I20D00D").mangledNameHash());
-    ASSERT_EQ(0x000006aeu, ImmutableString("imageAtomicAdd(01J20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000759u, ImmutableString("imageAtomicAdd(01f00D00D").mangledNameHash());
+    ASSERT_EQ(0x000007adu, ImmutableString("imageAtomicAdd(01D20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000787u, ImmutableString("imageAtomicAdd(01H20D00D").mangledNameHash());
+    ASSERT_EQ(0x000007c9u, ImmutableString("imageAtomicAdd(01I20D00D").mangledNameHash());
+    ASSERT_EQ(0x000006b0u, ImmutableString("imageAtomicAdd(01J20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000075au, ImmutableString("imageAtomicAdd(01f00D00D").mangledNameHash());
     ASSERT_EQ(0x00000237u, ImmutableString("imageAtomicAdd(01g00D00D").mangledNameHash());
     ASSERT_EQ(0x00000226u, ImmutableString("imageAtomicAdd(01h00D00D").mangledNameHash());
-    ASSERT_EQ(0x000007ccu, ImmutableString("imageAtomicAdd(01E20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000713u, ImmutableString("imageAtomicAdd(01F20D00D").mangledNameHash());
-    ASSERT_EQ(0x000003e5u, ImmutableString("imageAtomicAdd(01G20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000604u, ImmutableString("imageAtomicAdd(01Z20D00D").mangledNameHash());
-    ASSERT_EQ(0x000007a5u, ImmutableString("imageAtomicAdd(01a20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000652u, ImmutableString("imageAtomicAdd(01b20D00D").mangledNameHash());
+    ASSERT_EQ(0x000007cdu, ImmutableString("imageAtomicAdd(01E20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000714u, ImmutableString("imageAtomicAdd(01F20D00D").mangledNameHash());
+    ASSERT_EQ(0x000003e7u, ImmutableString("imageAtomicAdd(01G20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000606u, ImmutableString("imageAtomicAdd(01Z20D00D").mangledNameHash());
+    ASSERT_EQ(0x000007a6u, ImmutableString("imageAtomicAdd(01a20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000654u, ImmutableString("imageAtomicAdd(01b20D00D").mangledNameHash());
     ASSERT_EQ(0x0000009au, ImmutableString("imageAtomicAdd(01K00D00D").mangledNameHash());
     ASSERT_EQ(0x000002aau, ImmutableString("imageAtomicAdd(01L00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000855u, ImmutableString("imageAtomicAdd(01M00D00D").mangledNameHash());
-    ASSERT_EQ(0x000003ebu, ImmutableString("imageAtomicAdd(01N10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000064cu, ImmutableString("imageAtomicAdd(01O10D00D").mangledNameHash());
-    ASSERT_EQ(0x000007bau, ImmutableString("imageAtomicAdd(01P10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000856u, ImmutableString("imageAtomicAdd(01M00D00D").mangledNameHash());
+    ASSERT_EQ(0x000003edu, ImmutableString("imageAtomicAdd(01N10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000064eu, ImmutableString("imageAtomicAdd(01O10D00D").mangledNameHash());
+    ASSERT_EQ(0x000007bbu, ImmutableString("imageAtomicAdd(01P10D00D").mangledNameHash());
     ASSERT_EQ(0x000008a2u, ImmutableString("imageAtomicAdd(01W10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000806u, ImmutableString("imageAtomicAdd(01X10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000807u, ImmutableString("imageAtomicAdd(01X10D00D").mangledNameHash());
     ASSERT_EQ(0x0000019du, ImmutableString("imageAtomicAdd(01Y10D00D").mangledNameHash());
-    ASSERT_EQ(0x000003bdu, ImmutableString("imageAtomicAdd(01Q10D00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000039bu, ImmutableString("imageAtomicAdd(01R10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000003bfu, ImmutableString("imageAtomicAdd(01Q10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000039cu, ImmutableString("imageAtomicAdd(01R10D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000313u, ImmutableString("imageAtomicAdd(01S10D00D00D").mangledNameHash());
     ASSERT_EQ(0x000008d3u, ImmutableString("imageAtomicAdd(01T20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000006b3u, ImmutableString("imageAtomicAdd(01U20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000466u, ImmutableString("imageAtomicAdd(01V20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000006b5u, ImmutableString("imageAtomicAdd(01U20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000469u, ImmutableString("imageAtomicAdd(01V20D00D00D").mangledNameHash());
     ASSERT_EQ(0x0000011du, ImmutableString("imageAtomicMin(00y10D00E").mangledNameHash());
-    ASSERT_EQ(0x0000061au, ImmutableString("imageAtomicMin(00z10D00E").mangledNameHash());
-    ASSERT_EQ(0x000005f5u, ImmutableString("imageAtomicMin(01A10D00E").mangledNameHash());
+    ASSERT_EQ(0x0000061cu, ImmutableString("imageAtomicMin(00z10D00E").mangledNameHash());
+    ASSERT_EQ(0x000005f7u, ImmutableString("imageAtomicMin(01A10D00E").mangledNameHash());
     ASSERT_EQ(0x00000904u, ImmutableString("imageAtomicMin(01B20D00E").mangledNameHash());
     ASSERT_EQ(0x000002e1u, ImmutableString("imageAtomicMin(01C20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000045fu, ImmutableString("imageAtomicMin(01D20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000462u, ImmutableString("imageAtomicMin(01D20D00E").mangledNameHash());
     ASSERT_EQ(0x00000253u, ImmutableString("imageAtomicMin(01H20D00E").mangledNameHash());
-    ASSERT_EQ(0x000007d2u, ImmutableString("imageAtomicMin(01I20D00E").mangledNameHash());
+    ASSERT_EQ(0x000007d3u, ImmutableString("imageAtomicMin(01I20D00E").mangledNameHash());
     ASSERT_EQ(0x000001afu, ImmutableString("imageAtomicMin(01J20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000074au, ImmutableString("imageAtomicMin(01f00D00E").mangledNameHash());
-    ASSERT_EQ(0x000003c7u, ImmutableString("imageAtomicMin(01g00D00E").mangledNameHash());
+    ASSERT_EQ(0x0000074bu, ImmutableString("imageAtomicMin(01f00D00E").mangledNameHash());
+    ASSERT_EQ(0x000003c9u, ImmutableString("imageAtomicMin(01g00D00E").mangledNameHash());
     ASSERT_EQ(0x00000137u, ImmutableString("imageAtomicMin(01h00D00E").mangledNameHash());
-    ASSERT_EQ(0x00000646u, ImmutableString("imageAtomicMin(01E20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000648u, ImmutableString("imageAtomicMin(01E20D00E").mangledNameHash());
     ASSERT_EQ(0x0000015au, ImmutableString("imageAtomicMin(01F20D00E").mangledNameHash());
     ASSERT_EQ(0x000002b2u, ImmutableString("imageAtomicMin(01G20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000734u, ImmutableString("imageAtomicMin(01Z20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000737u, ImmutableString("imageAtomicMin(01a20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000735u, ImmutableString("imageAtomicMin(01Z20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000738u, ImmutableString("imageAtomicMin(01a20D00E").mangledNameHash());
     ASSERT_EQ(0x000002c7u, ImmutableString("imageAtomicMin(01b20D00E").mangledNameHash());
     ASSERT_EQ(0x0000088fu, ImmutableString("imageAtomicMin(01K00D00E").mangledNameHash());
-    ASSERT_EQ(0x000005b7u, ImmutableString("imageAtomicMin(01L00D00E").mangledNameHash());
-    ASSERT_EQ(0x000004edu, ImmutableString("imageAtomicMin(01M00D00E").mangledNameHash());
+    ASSERT_EQ(0x000005b9u, ImmutableString("imageAtomicMin(01L00D00E").mangledNameHash());
+    ASSERT_EQ(0x000004f0u, ImmutableString("imageAtomicMin(01M00D00E").mangledNameHash());
     ASSERT_EQ(0x00000865u, ImmutableString("imageAtomicMin(01N10D00E").mangledNameHash());
-    ASSERT_EQ(0x000004efu, ImmutableString("imageAtomicMin(01O10D00E").mangledNameHash());
-    ASSERT_EQ(0x0000037eu, ImmutableString("imageAtomicMin(01P10D00E").mangledNameHash());
-    ASSERT_EQ(0x00000351u, ImmutableString("imageAtomicMin(01W10D00E").mangledNameHash());
+    ASSERT_EQ(0x000004f2u, ImmutableString("imageAtomicMin(01O10D00E").mangledNameHash());
+    ASSERT_EQ(0x0000037fu, ImmutableString("imageAtomicMin(01P10D00E").mangledNameHash());
+    ASSERT_EQ(0x00000352u, ImmutableString("imageAtomicMin(01W10D00E").mangledNameHash());
     ASSERT_EQ(0x0000011fu, ImmutableString("imageAtomicMin(01X10D00E").mangledNameHash());
     ASSERT_EQ(0x00000127u, ImmutableString("imageAtomicMin(01Y10D00E").mangledNameHash());
     ASSERT_EQ(0x00000329u, ImmutableString("imageAtomicMin(01Q10D00D00E").mangledNameHash());
     ASSERT_EQ(0x00000056u, ImmutableString("imageAtomicMin(01R10D00D00E").mangledNameHash());
-    ASSERT_EQ(0x000007aau, ImmutableString("imageAtomicMin(01S10D00D00E").mangledNameHash());
+    ASSERT_EQ(0x000007abu, ImmutableString("imageAtomicMin(01S10D00D00E").mangledNameHash());
     ASSERT_EQ(0x00000172u, ImmutableString("imageAtomicMin(01T20D00D00E").mangledNameHash());
-    ASSERT_EQ(0x000007e7u, ImmutableString("imageAtomicMin(01U20D00D00E").mangledNameHash());
-    ASSERT_EQ(0x00000700u, ImmutableString("imageAtomicMin(01V20D00D00E").mangledNameHash());
+    ASSERT_EQ(0x000007e8u, ImmutableString("imageAtomicMin(01U20D00D00E").mangledNameHash());
+    ASSERT_EQ(0x00000701u, ImmutableString("imageAtomicMin(01V20D00D00E").mangledNameHash());
     ASSERT_EQ(0x0000011cu, ImmutableString("imageAtomicMin(00y10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000061bu, ImmutableString("imageAtomicMin(00z10D00D").mangledNameHash());
-    ASSERT_EQ(0x000005f6u, ImmutableString("imageAtomicMin(01A10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000061du, ImmutableString("imageAtomicMin(00z10D00D").mangledNameHash());
+    ASSERT_EQ(0x000005f8u, ImmutableString("imageAtomicMin(01A10D00D").mangledNameHash());
     ASSERT_EQ(0x00000905u, ImmutableString("imageAtomicMin(01B20D00D").mangledNameHash());
     ASSERT_EQ(0x000002e0u, ImmutableString("imageAtomicMin(01C20D00D").mangledNameHash());
-    ASSERT_EQ(0x0000081du, ImmutableString("imageAtomicMin(01D20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000472u, ImmutableString("imageAtomicMin(01H20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000081eu, ImmutableString("imageAtomicMin(01D20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000475u, ImmutableString("imageAtomicMin(01H20D00D").mangledNameHash());
     ASSERT_EQ(0x000000eeu, ImmutableString("imageAtomicMin(01I20D00D").mangledNameHash());
-    ASSERT_EQ(0x0000041du, ImmutableString("imageAtomicMin(01J20D00D").mangledNameHash());
-    ASSERT_EQ(0x0000074bu, ImmutableString("imageAtomicMin(01f00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000084fu, ImmutableString("imageAtomicMin(01g00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000041fu, ImmutableString("imageAtomicMin(01J20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000074cu, ImmutableString("imageAtomicMin(01f00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000850u, ImmutableString("imageAtomicMin(01g00D00D").mangledNameHash());
     ASSERT_EQ(0x00000138u, ImmutableString("imageAtomicMin(01h00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000645u, ImmutableString("imageAtomicMin(01E20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000647u, ImmutableString("imageAtomicMin(01E20D00D").mangledNameHash());
     ASSERT_EQ(0x0000015bu, ImmutableString("imageAtomicMin(01F20D00D").mangledNameHash());
     ASSERT_EQ(0x000002b1u, ImmutableString("imageAtomicMin(01G20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000735u, ImmutableString("imageAtomicMin(01Z20D00D").mangledNameHash());
-    ASSERT_EQ(0x0000035au, ImmutableString("imageAtomicMin(01a20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000736u, ImmutableString("imageAtomicMin(01Z20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000035bu, ImmutableString("imageAtomicMin(01a20D00D").mangledNameHash());
     ASSERT_EQ(0x000002c8u, ImmutableString("imageAtomicMin(01b20D00D").mangledNameHash());
     ASSERT_EQ(0x0000088eu, ImmutableString("imageAtomicMin(01K00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000071du, ImmutableString("imageAtomicMin(01L00D00D").mangledNameHash());
-    ASSERT_EQ(0x000004ecu, ImmutableString("imageAtomicMin(01M00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000071eu, ImmutableString("imageAtomicMin(01L00D00D").mangledNameHash());
+    ASSERT_EQ(0x000004efu, ImmutableString("imageAtomicMin(01M00D00D").mangledNameHash());
     ASSERT_EQ(0x00000864u, ImmutableString("imageAtomicMin(01N10D00D").mangledNameHash());
-    ASSERT_EQ(0x000004f0u, ImmutableString("imageAtomicMin(01O10D00D").mangledNameHash());
+    ASSERT_EQ(0x000004f3u, ImmutableString("imageAtomicMin(01O10D00D").mangledNameHash());
     ASSERT_EQ(0x000002f3u, ImmutableString("imageAtomicMin(01P10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000075du, ImmutableString("imageAtomicMin(01W10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000075eu, ImmutableString("imageAtomicMin(01W10D00D").mangledNameHash());
     ASSERT_EQ(0x0000011eu, ImmutableString("imageAtomicMin(01X10D00D").mangledNameHash());
     ASSERT_EQ(0x0000003fu, ImmutableString("imageAtomicMin(01Y10D00D").mangledNameHash());
     ASSERT_EQ(0x00000328u, ImmutableString("imageAtomicMin(01Q10D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000057u, ImmutableString("imageAtomicMin(01R10D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000007a9u, ImmutableString("imageAtomicMin(01S10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000007aau, ImmutableString("imageAtomicMin(01S10D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000171u, ImmutableString("imageAtomicMin(01T20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000007e8u, ImmutableString("imageAtomicMin(01U20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000006ffu, ImmutableString("imageAtomicMin(01V20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000004d9u, ImmutableString("imageAtomicMax(00y10D00E").mangledNameHash());
-    ASSERT_EQ(0x00000442u, ImmutableString("imageAtomicMax(00z10D00E").mangledNameHash());
+    ASSERT_EQ(0x000007e9u, ImmutableString("imageAtomicMin(01U20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000700u, ImmutableString("imageAtomicMin(01V20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000004dcu, ImmutableString("imageAtomicMax(00y10D00E").mangledNameHash());
+    ASSERT_EQ(0x00000445u, ImmutableString("imageAtomicMax(00z10D00E").mangledNameHash());
     ASSERT_EQ(0x000000f2u, ImmutableString("imageAtomicMax(01A10D00E").mangledNameHash());
-    ASSERT_EQ(0x00000551u, ImmutableString("imageAtomicMax(01B20D00E").mangledNameHash());
-    ASSERT_EQ(0x000007b1u, ImmutableString("imageAtomicMax(01C20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000554u, ImmutableString("imageAtomicMax(01B20D00E").mangledNameHash());
+    ASSERT_EQ(0x000007b2u, ImmutableString("imageAtomicMax(01C20D00E").mangledNameHash());
     ASSERT_EQ(0x00000317u, ImmutableString("imageAtomicMax(01D20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000036cu, ImmutableString("imageAtomicMax(01H20D00E").mangledNameHash());
-    ASSERT_EQ(0x000005c3u, ImmutableString("imageAtomicMax(01I20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000081bu, ImmutableString("imageAtomicMax(01J20D00E").mangledNameHash());
-    ASSERT_EQ(0x000006c9u, ImmutableString("imageAtomicMax(01f00D00E").mangledNameHash());
-    ASSERT_EQ(0x00000688u, ImmutableString("imageAtomicMax(01g00D00E").mangledNameHash());
-    ASSERT_EQ(0x00000800u, ImmutableString("imageAtomicMax(01h00D00E").mangledNameHash());
-    ASSERT_EQ(0x00000457u, ImmutableString("imageAtomicMax(01E20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000577u, ImmutableString("imageAtomicMax(01F20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000067bu, ImmutableString("imageAtomicMax(01G20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000406u, ImmutableString("imageAtomicMax(01Z20D00E").mangledNameHash());
-    ASSERT_EQ(0x000004c3u, ImmutableString("imageAtomicMax(01a20D00E").mangledNameHash());
+    ASSERT_EQ(0x0000036du, ImmutableString("imageAtomicMax(01H20D00E").mangledNameHash());
+    ASSERT_EQ(0x000005c5u, ImmutableString("imageAtomicMax(01I20D00E").mangledNameHash());
+    ASSERT_EQ(0x0000081cu, ImmutableString("imageAtomicMax(01J20D00E").mangledNameHash());
+    ASSERT_EQ(0x000006cbu, ImmutableString("imageAtomicMax(01f00D00E").mangledNameHash());
+    ASSERT_EQ(0x0000068au, ImmutableString("imageAtomicMax(01g00D00E").mangledNameHash());
+    ASSERT_EQ(0x00000801u, ImmutableString("imageAtomicMax(01h00D00E").mangledNameHash());
+    ASSERT_EQ(0x0000045au, ImmutableString("imageAtomicMax(01E20D00E").mangledNameHash());
+    ASSERT_EQ(0x0000057au, ImmutableString("imageAtomicMax(01F20D00E").mangledNameHash());
+    ASSERT_EQ(0x0000067du, ImmutableString("imageAtomicMax(01G20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000408u, ImmutableString("imageAtomicMax(01Z20D00E").mangledNameHash());
+    ASSERT_EQ(0x000004c6u, ImmutableString("imageAtomicMax(01a20D00E").mangledNameHash());
     ASSERT_EQ(0x000002b0u, ImmutableString("imageAtomicMax(01b20D00E").mangledNameHash());
     ASSERT_EQ(0x0000005fu, ImmutableString("imageAtomicMax(01K00D00E").mangledNameHash());
-    ASSERT_EQ(0x00000809u, ImmutableString("imageAtomicMax(01L00D00E").mangledNameHash());
-    ASSERT_EQ(0x000007cau, ImmutableString("imageAtomicMax(01M00D00E").mangledNameHash());
-    ASSERT_EQ(0x000007ecu, ImmutableString("imageAtomicMax(01N10D00E").mangledNameHash());
-    ASSERT_EQ(0x0000048fu, ImmutableString("imageAtomicMax(01O10D00E").mangledNameHash());
+    ASSERT_EQ(0x0000080au, ImmutableString("imageAtomicMax(01L00D00E").mangledNameHash());
+    ASSERT_EQ(0x000007cbu, ImmutableString("imageAtomicMax(01M00D00E").mangledNameHash());
+    ASSERT_EQ(0x000007edu, ImmutableString("imageAtomicMax(01N10D00E").mangledNameHash());
+    ASSERT_EQ(0x00000492u, ImmutableString("imageAtomicMax(01O10D00E").mangledNameHash());
     ASSERT_EQ(0x000002cau, ImmutableString("imageAtomicMax(01P10D00E").mangledNameHash());
-    ASSERT_EQ(0x000006b1u, ImmutableString("imageAtomicMax(01W10D00E").mangledNameHash());
+    ASSERT_EQ(0x000006b3u, ImmutableString("imageAtomicMax(01W10D00E").mangledNameHash());
     ASSERT_EQ(0x000002aeu, ImmutableString("imageAtomicMax(01X10D00E").mangledNameHash());
     ASSERT_EQ(0x000000b0u, ImmutableString("imageAtomicMax(01Y10D00E").mangledNameHash());
     ASSERT_EQ(0x000000c7u, ImmutableString("imageAtomicMax(01Q10D00D00E").mangledNameHash());
     ASSERT_EQ(0x00000152u, ImmutableString("imageAtomicMax(01R10D00D00E").mangledNameHash());
     ASSERT_EQ(0x00000043u, ImmutableString("imageAtomicMax(01S10D00D00E").mangledNameHash());
-    ASSERT_EQ(0x0000073bu, ImmutableString("imageAtomicMax(01T20D00D00E").mangledNameHash());
+    ASSERT_EQ(0x0000073cu, ImmutableString("imageAtomicMax(01T20D00D00E").mangledNameHash());
     ASSERT_EQ(0x0000016eu, ImmutableString("imageAtomicMax(01U20D00D00E").mangledNameHash());
-    ASSERT_EQ(0x00000449u, ImmutableString("imageAtomicMax(01V20D00D00E").mangledNameHash());
-    ASSERT_EQ(0x000004d8u, ImmutableString("imageAtomicMax(00y10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000443u, ImmutableString("imageAtomicMax(00z10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000044cu, ImmutableString("imageAtomicMax(01V20D00D00E").mangledNameHash());
+    ASSERT_EQ(0x000004dbu, ImmutableString("imageAtomicMax(00y10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000446u, ImmutableString("imageAtomicMax(00z10D00D").mangledNameHash());
     ASSERT_EQ(0x000000f3u, ImmutableString("imageAtomicMax(01A10D00D").mangledNameHash());
-    ASSERT_EQ(0x000003cfu, ImmutableString("imageAtomicMax(01B20D00D").mangledNameHash());
-    ASSERT_EQ(0x000007b0u, ImmutableString("imageAtomicMax(01C20D00D").mangledNameHash());
+    ASSERT_EQ(0x000003d1u, ImmutableString("imageAtomicMax(01B20D00D").mangledNameHash());
+    ASSERT_EQ(0x000007b1u, ImmutableString("imageAtomicMax(01C20D00D").mangledNameHash());
     ASSERT_EQ(0x00000318u, ImmutableString("imageAtomicMax(01D20D00D").mangledNameHash());
-    ASSERT_EQ(0x0000036du, ImmutableString("imageAtomicMax(01H20D00D").mangledNameHash());
-    ASSERT_EQ(0x000005c2u, ImmutableString("imageAtomicMax(01I20D00D").mangledNameHash());
-    ASSERT_EQ(0x0000081cu, ImmutableString("imageAtomicMax(01J20D00D").mangledNameHash());
-    ASSERT_EQ(0x000006cau, ImmutableString("imageAtomicMax(01f00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000687u, ImmutableString("imageAtomicMax(01g00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000036eu, ImmutableString("imageAtomicMax(01H20D00D").mangledNameHash());
+    ASSERT_EQ(0x000005c4u, ImmutableString("imageAtomicMax(01I20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000081du, ImmutableString("imageAtomicMax(01J20D00D").mangledNameHash());
+    ASSERT_EQ(0x000006ccu, ImmutableString("imageAtomicMax(01f00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000689u, ImmutableString("imageAtomicMax(01g00D00D").mangledNameHash());
     ASSERT_EQ(0x000002ebu, ImmutableString("imageAtomicMax(01h00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000456u, ImmutableString("imageAtomicMax(01E20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000578u, ImmutableString("imageAtomicMax(01F20D00D").mangledNameHash());
-    ASSERT_EQ(0x0000067au, ImmutableString("imageAtomicMax(01G20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000459u, ImmutableString("imageAtomicMax(01E20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000057bu, ImmutableString("imageAtomicMax(01F20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000067cu, ImmutableString("imageAtomicMax(01G20D00D").mangledNameHash());
     ASSERT_EQ(0x000008bdu, ImmutableString("imageAtomicMax(01Z20D00D").mangledNameHash());
-    ASSERT_EQ(0x000004c0u, ImmutableString("imageAtomicMax(01a20D00D").mangledNameHash());
+    ASSERT_EQ(0x000004c3u, ImmutableString("imageAtomicMax(01a20D00D").mangledNameHash());
     ASSERT_EQ(0x000001fcu, ImmutableString("imageAtomicMax(01b20D00D").mangledNameHash());
     ASSERT_EQ(0x0000005eu, ImmutableString("imageAtomicMax(01K00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000080au, ImmutableString("imageAtomicMax(01L00D00D").mangledNameHash());
-    ASSERT_EQ(0x000007c9u, ImmutableString("imageAtomicMax(01M00D00D").mangledNameHash());
-    ASSERT_EQ(0x000007ebu, ImmutableString("imageAtomicMax(01N10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000490u, ImmutableString("imageAtomicMax(01O10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000080bu, ImmutableString("imageAtomicMax(01L00D00D").mangledNameHash());
+    ASSERT_EQ(0x000007cau, ImmutableString("imageAtomicMax(01M00D00D").mangledNameHash());
+    ASSERT_EQ(0x000007ecu, ImmutableString("imageAtomicMax(01N10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000493u, ImmutableString("imageAtomicMax(01O10D00D").mangledNameHash());
     ASSERT_EQ(0x000002c9u, ImmutableString("imageAtomicMax(01P10D00D").mangledNameHash());
     ASSERT_EQ(0x0000033du, ImmutableString("imageAtomicMax(01W10D00D").mangledNameHash());
-    ASSERT_EQ(0x000004f4u, ImmutableString("imageAtomicMax(01X10D00D").mangledNameHash());
+    ASSERT_EQ(0x000004f7u, ImmutableString("imageAtomicMax(01X10D00D").mangledNameHash());
     ASSERT_EQ(0x000000b1u, ImmutableString("imageAtomicMax(01Y10D00D").mangledNameHash());
     ASSERT_EQ(0x000000c6u, ImmutableString("imageAtomicMax(01Q10D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000153u, ImmutableString("imageAtomicMax(01R10D00D00D").mangledNameHash());
     ASSERT_EQ(0x0000013fu, ImmutableString("imageAtomicMax(01S10D00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000073au, ImmutableString("imageAtomicMax(01T20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000073bu, ImmutableString("imageAtomicMax(01T20D00D00D").mangledNameHash());
     ASSERT_EQ(0x0000016fu, ImmutableString("imageAtomicMax(01U20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000077bu, ImmutableString("imageAtomicMax(01V20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000077cu, ImmutableString("imageAtomicMax(01V20D00D00D").mangledNameHash());
     ASSERT_EQ(0x000008f0u, ImmutableString("imageAtomicAnd(00y10D00E").mangledNameHash());
     ASSERT_EQ(0x00000892u, ImmutableString("imageAtomicAnd(00z10D00E").mangledNameHash());
     ASSERT_EQ(0x00000112u, ImmutableString("imageAtomicAnd(01A10D00E").mangledNameHash());
-    ASSERT_EQ(0x000006c5u, ImmutableString("imageAtomicAnd(01B20D00E").mangledNameHash());
+    ASSERT_EQ(0x000006c7u, ImmutableString("imageAtomicAnd(01B20D00E").mangledNameHash());
     ASSERT_EQ(0x00000073u, ImmutableString("imageAtomicAnd(01C20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000747u, ImmutableString("imageAtomicAnd(01D20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000836u, ImmutableString("imageAtomicAnd(01H20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000813u, ImmutableString("imageAtomicAnd(01I20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000748u, ImmutableString("imageAtomicAnd(01D20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000837u, ImmutableString("imageAtomicAnd(01H20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000814u, ImmutableString("imageAtomicAnd(01I20D00E").mangledNameHash());
     ASSERT_EQ(0x0000013du, ImmutableString("imageAtomicAnd(01J20D00E").mangledNameHash());
     ASSERT_EQ(0x00000018u, ImmutableString("imageAtomicAnd(01f00D00E").mangledNameHash());
     ASSERT_EQ(0x0000021cu, ImmutableString("imageAtomicAnd(01g00D00E").mangledNameHash());
-    ASSERT_EQ(0x000003eeu, ImmutableString("imageAtomicAnd(01h00D00E").mangledNameHash());
-    ASSERT_EQ(0x000004f8u, ImmutableString("imageAtomicAnd(01E20D00E").mangledNameHash());
+    ASSERT_EQ(0x000003f0u, ImmutableString("imageAtomicAnd(01h00D00E").mangledNameHash());
+    ASSERT_EQ(0x000004fbu, ImmutableString("imageAtomicAnd(01E20D00E").mangledNameHash());
     ASSERT_EQ(0x000002e3u, ImmutableString("imageAtomicAnd(01F20D00E").mangledNameHash());
     ASSERT_EQ(0x000008ccu, ImmutableString("imageAtomicAnd(01G20D00E").mangledNameHash());
     ASSERT_EQ(0x00000197u, ImmutableString("imageAtomicAnd(01Z20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000068cu, ImmutableString("imageAtomicAnd(01a20D00E").mangledNameHash());
+    ASSERT_EQ(0x0000068eu, ImmutableString("imageAtomicAnd(01a20D00E").mangledNameHash());
     ASSERT_EQ(0x0000009eu, ImmutableString("imageAtomicAnd(01b20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000512u, ImmutableString("imageAtomicAnd(01K00D00E").mangledNameHash());
+    ASSERT_EQ(0x00000515u, ImmutableString("imageAtomicAnd(01K00D00E").mangledNameHash());
     ASSERT_EQ(0x0000028fu, ImmutableString("imageAtomicAnd(01L00D00E").mangledNameHash());
     ASSERT_EQ(0x00000241u, ImmutableString("imageAtomicAnd(01M00D00E").mangledNameHash());
-    ASSERT_EQ(0x00000723u, ImmutableString("imageAtomicAnd(01N10D00E").mangledNameHash());
-    ASSERT_EQ(0x00000805u, ImmutableString("imageAtomicAnd(01O10D00E").mangledNameHash());
-    ASSERT_EQ(0x00000696u, ImmutableString("imageAtomicAnd(01P10D00E").mangledNameHash());
-    ASSERT_EQ(0x00000540u, ImmutableString("imageAtomicAnd(01W10D00E").mangledNameHash());
-    ASSERT_EQ(0x0000072bu, ImmutableString("imageAtomicAnd(01X10D00E").mangledNameHash());
-    ASSERT_EQ(0x00000610u, ImmutableString("imageAtomicAnd(01Y10D00E").mangledNameHash());
-    ASSERT_EQ(0x0000069du, ImmutableString("imageAtomicAnd(01Q10D00D00E").mangledNameHash());
-    ASSERT_EQ(0x00000505u, ImmutableString("imageAtomicAnd(01R10D00D00E").mangledNameHash());
-    ASSERT_EQ(0x000004c1u, ImmutableString("imageAtomicAnd(01S10D00D00E").mangledNameHash());
+    ASSERT_EQ(0x00000724u, ImmutableString("imageAtomicAnd(01N10D00E").mangledNameHash());
+    ASSERT_EQ(0x00000806u, ImmutableString("imageAtomicAnd(01O10D00E").mangledNameHash());
+    ASSERT_EQ(0x00000698u, ImmutableString("imageAtomicAnd(01P10D00E").mangledNameHash());
+    ASSERT_EQ(0x00000543u, ImmutableString("imageAtomicAnd(01W10D00E").mangledNameHash());
+    ASSERT_EQ(0x0000072cu, ImmutableString("imageAtomicAnd(01X10D00E").mangledNameHash());
+    ASSERT_EQ(0x00000612u, ImmutableString("imageAtomicAnd(01Y10D00E").mangledNameHash());
+    ASSERT_EQ(0x0000069fu, ImmutableString("imageAtomicAnd(01Q10D00D00E").mangledNameHash());
+    ASSERT_EQ(0x00000508u, ImmutableString("imageAtomicAnd(01R10D00D00E").mangledNameHash());
+    ASSERT_EQ(0x000004c4u, ImmutableString("imageAtomicAnd(01S10D00D00E").mangledNameHash());
     ASSERT_EQ(0x000001b8u, ImmutableString("imageAtomicAnd(01T20D00D00E").mangledNameHash());
     ASSERT_EQ(0x000001eau, ImmutableString("imageAtomicAnd(01U20D00D00E").mangledNameHash());
     ASSERT_EQ(0x00000069u, ImmutableString("imageAtomicAnd(01V20D00D00E").mangledNameHash());
     ASSERT_EQ(0x000008f1u, ImmutableString("imageAtomicAnd(00y10D00D").mangledNameHash());
     ASSERT_EQ(0x00000891u, ImmutableString("imageAtomicAnd(00z10D00D").mangledNameHash());
     ASSERT_EQ(0x00000033u, ImmutableString("imageAtomicAnd(01A10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000063cu, ImmutableString("imageAtomicAnd(01B20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000063eu, ImmutableString("imageAtomicAnd(01B20D00D").mangledNameHash());
     ASSERT_EQ(0x00000076u, ImmutableString("imageAtomicAnd(01C20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000746u, ImmutableString("imageAtomicAnd(01D20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000835u, ImmutableString("imageAtomicAnd(01H20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000747u, ImmutableString("imageAtomicAnd(01D20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000836u, ImmutableString("imageAtomicAnd(01H20D00D").mangledNameHash());
     ASSERT_EQ(0x000002a7u, ImmutableString("imageAtomicAnd(01I20D00D").mangledNameHash());
     ASSERT_EQ(0x0000013cu, ImmutableString("imageAtomicAnd(01J20D00D").mangledNameHash());
     ASSERT_EQ(0x00000017u, ImmutableString("imageAtomicAnd(01f00D00D").mangledNameHash());
     ASSERT_EQ(0x000001e2u, ImmutableString("imageAtomicAnd(01g00D00D").mangledNameHash());
-    ASSERT_EQ(0x000003e2u, ImmutableString("imageAtomicAnd(01h00D00D").mangledNameHash());
-    ASSERT_EQ(0x000004f9u, ImmutableString("imageAtomicAnd(01E20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000379u, ImmutableString("imageAtomicAnd(01F20D00D").mangledNameHash());
+    ASSERT_EQ(0x000003e4u, ImmutableString("imageAtomicAnd(01h00D00D").mangledNameHash());
+    ASSERT_EQ(0x000004fcu, ImmutableString("imageAtomicAnd(01E20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000037au, ImmutableString("imageAtomicAnd(01F20D00D").mangledNameHash());
     ASSERT_EQ(0x000008cdu, ImmutableString("imageAtomicAnd(01G20D00D").mangledNameHash());
     ASSERT_EQ(0x00000040u, ImmutableString("imageAtomicAnd(01Z20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000851u, ImmutableString("imageAtomicAnd(01a20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000852u, ImmutableString("imageAtomicAnd(01a20D00D").mangledNameHash());
     ASSERT_EQ(0x000001c4u, ImmutableString("imageAtomicAnd(01b20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000513u, ImmutableString("imageAtomicAnd(01K00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000516u, ImmutableString("imageAtomicAnd(01K00D00D").mangledNameHash());
     ASSERT_EQ(0x0000028eu, ImmutableString("imageAtomicAnd(01L00D00D").mangledNameHash());
     ASSERT_EQ(0x00000242u, ImmutableString("imageAtomicAnd(01M00D00D").mangledNameHash());
-    ASSERT_EQ(0x000005d3u, ImmutableString("imageAtomicAnd(01N10D00D").mangledNameHash());
+    ASSERT_EQ(0x000005d5u, ImmutableString("imageAtomicAnd(01N10D00D").mangledNameHash());
     ASSERT_EQ(0x000000b3u, ImmutableString("imageAtomicAnd(01O10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000697u, ImmutableString("imageAtomicAnd(01P10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000053fu, ImmutableString("imageAtomicAnd(01W10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000072du, ImmutableString("imageAtomicAnd(01X10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000060fu, ImmutableString("imageAtomicAnd(01Y10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000069eu, ImmutableString("imageAtomicAnd(01Q10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000699u, ImmutableString("imageAtomicAnd(01P10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000542u, ImmutableString("imageAtomicAnd(01W10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000072eu, ImmutableString("imageAtomicAnd(01X10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000611u, ImmutableString("imageAtomicAnd(01Y10D00D").mangledNameHash());
+    ASSERT_EQ(0x000006a0u, ImmutableString("imageAtomicAnd(01Q10D00D00D").mangledNameHash());
     ASSERT_EQ(0x000000d7u, ImmutableString("imageAtomicAnd(01R10D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000004c2u, ImmutableString("imageAtomicAnd(01S10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000004c5u, ImmutableString("imageAtomicAnd(01S10D00D00D").mangledNameHash());
     ASSERT_EQ(0x000001b9u, ImmutableString("imageAtomicAnd(01T20D00D00D").mangledNameHash());
     ASSERT_EQ(0x000001e9u, ImmutableString("imageAtomicAnd(01U20D00D00D").mangledNameHash());
     ASSERT_EQ(0x0000006au, ImmutableString("imageAtomicAnd(01V20D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000320u, ImmutableString("imageAtomicOr(00y10D00E").mangledNameHash());
     ASSERT_EQ(0x00000016u, ImmutableString("imageAtomicOr(00z10D00E").mangledNameHash());
-    ASSERT_EQ(0x000004feu, ImmutableString("imageAtomicOr(01A10D00E").mangledNameHash());
-    ASSERT_EQ(0x000003f0u, ImmutableString("imageAtomicOr(01B20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000501u, ImmutableString("imageAtomicOr(01A10D00E").mangledNameHash());
+    ASSERT_EQ(0x000003f2u, ImmutableString("imageAtomicOr(01B20D00E").mangledNameHash());
     ASSERT_EQ(0x0000034au, ImmutableString("imageAtomicOr(01C20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000055du, ImmutableString("imageAtomicOr(01D20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000560u, ImmutableString("imageAtomicOr(01D20D00E").mangledNameHash());
     ASSERT_EQ(0x00000918u, ImmutableString("imageAtomicOr(01H20D00E").mangledNameHash());
-    ASSERT_EQ(0x000004a5u, ImmutableString("imageAtomicOr(01I20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000575u, ImmutableString("imageAtomicOr(01J20D00E").mangledNameHash());
+    ASSERT_EQ(0x000004a8u, ImmutableString("imageAtomicOr(01I20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000578u, ImmutableString("imageAtomicOr(01J20D00E").mangledNameHash());
     ASSERT_EQ(0x00000296u, ImmutableString("imageAtomicOr(01f00D00E").mangledNameHash());
-    ASSERT_EQ(0x000005b4u, ImmutableString("imageAtomicOr(01g00D00E").mangledNameHash());
-    ASSERT_EQ(0x000005f1u, ImmutableString("imageAtomicOr(01h00D00E").mangledNameHash());
+    ASSERT_EQ(0x000005b6u, ImmutableString("imageAtomicOr(01g00D00E").mangledNameHash());
+    ASSERT_EQ(0x000005f3u, ImmutableString("imageAtomicOr(01h00D00E").mangledNameHash());
     ASSERT_EQ(0x000000c1u, ImmutableString("imageAtomicOr(01E20D00E").mangledNameHash());
     ASSERT_EQ(0x00000321u, ImmutableString("imageAtomicOr(01F20D00E").mangledNameHash());
     ASSERT_EQ(0x000002deu, ImmutableString("imageAtomicOr(01G20D00E").mangledNameHash());
-    ASSERT_EQ(0x000006aau, ImmutableString("imageAtomicOr(01Z20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000600u, ImmutableString("imageAtomicOr(01a20D00E").mangledNameHash());
+    ASSERT_EQ(0x000006acu, ImmutableString("imageAtomicOr(01Z20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000602u, ImmutableString("imageAtomicOr(01a20D00E").mangledNameHash());
     ASSERT_EQ(0x00000900u, ImmutableString("imageAtomicOr(01b20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000502u, ImmutableString("imageAtomicOr(01K00D00E").mangledNameHash());
+    ASSERT_EQ(0x00000505u, ImmutableString("imageAtomicOr(01K00D00E").mangledNameHash());
     ASSERT_EQ(0x00000145u, ImmutableString("imageAtomicOr(01L00D00E").mangledNameHash());
-    ASSERT_EQ(0x0000043du, ImmutableString("imageAtomicOr(01M00D00E").mangledNameHash());
+    ASSERT_EQ(0x0000043fu, ImmutableString("imageAtomicOr(01M00D00E").mangledNameHash());
     ASSERT_EQ(0x0000004fu, ImmutableString("imageAtomicOr(01N10D00E").mangledNameHash());
-    ASSERT_EQ(0x00000650u, ImmutableString("imageAtomicOr(01O10D00E").mangledNameHash());
+    ASSERT_EQ(0x00000652u, ImmutableString("imageAtomicOr(01O10D00E").mangledNameHash());
     ASSERT_EQ(0x00000100u, ImmutableString("imageAtomicOr(01P10D00E").mangledNameHash());
-    ASSERT_EQ(0x000003acu, ImmutableString("imageAtomicOr(01W10D00E").mangledNameHash());
+    ASSERT_EQ(0x000003aeu, ImmutableString("imageAtomicOr(01W10D00E").mangledNameHash());
     ASSERT_EQ(0x0000006bu, ImmutableString("imageAtomicOr(01X10D00E").mangledNameHash());
     ASSERT_EQ(0x000001bdu, ImmutableString("imageAtomicOr(01Y10D00E").mangledNameHash());
     ASSERT_EQ(0x0000003bu, ImmutableString("imageAtomicOr(01Q10D00D00E").mangledNameHash());
     ASSERT_EQ(0x000000d3u, ImmutableString("imageAtomicOr(01R10D00D00E").mangledNameHash());
     ASSERT_EQ(0x00000912u, ImmutableString("imageAtomicOr(01S10D00D00E").mangledNameHash());
-    ASSERT_EQ(0x000003c1u, ImmutableString("imageAtomicOr(01T20D00D00E").mangledNameHash());
-    ASSERT_EQ(0x0000074du, ImmutableString("imageAtomicOr(01U20D00D00E").mangledNameHash());
-    ASSERT_EQ(0x000004bau, ImmutableString("imageAtomicOr(01V20D00D00E").mangledNameHash());
+    ASSERT_EQ(0x000003c3u, ImmutableString("imageAtomicOr(01T20D00D00E").mangledNameHash());
+    ASSERT_EQ(0x0000074eu, ImmutableString("imageAtomicOr(01U20D00D00E").mangledNameHash());
+    ASSERT_EQ(0x000004bdu, ImmutableString("imageAtomicOr(01V20D00D00E").mangledNameHash());
     ASSERT_EQ(0x0000031fu, ImmutableString("imageAtomicOr(00y10D00D").mangledNameHash());
     ASSERT_EQ(0x00000004u, ImmutableString("imageAtomicOr(00z10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000500u, ImmutableString("imageAtomicOr(01A10D00D").mangledNameHash());
-    ASSERT_EQ(0x000003f1u, ImmutableString("imageAtomicOr(01B20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000503u, ImmutableString("imageAtomicOr(01A10D00D").mangledNameHash());
+    ASSERT_EQ(0x000003f3u, ImmutableString("imageAtomicOr(01B20D00D").mangledNameHash());
     ASSERT_EQ(0x00000349u, ImmutableString("imageAtomicOr(01C20D00D").mangledNameHash());
-    ASSERT_EQ(0x0000055fu, ImmutableString("imageAtomicOr(01D20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000562u, ImmutableString("imageAtomicOr(01D20D00D").mangledNameHash());
     ASSERT_EQ(0x00000919u, ImmutableString("imageAtomicOr(01H20D00D").mangledNameHash());
-    ASSERT_EQ(0x000006f5u, ImmutableString("imageAtomicOr(01I20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000576u, ImmutableString("imageAtomicOr(01J20D00D").mangledNameHash());
+    ASSERT_EQ(0x000006f6u, ImmutableString("imageAtomicOr(01I20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000579u, ImmutableString("imageAtomicOr(01J20D00D").mangledNameHash());
     ASSERT_EQ(0x00000297u, ImmutableString("imageAtomicOr(01f00D00D").mangledNameHash());
-    ASSERT_EQ(0x000005b3u, ImmutableString("imageAtomicOr(01g00D00D").mangledNameHash());
-    ASSERT_EQ(0x000005f2u, ImmutableString("imageAtomicOr(01h00D00D").mangledNameHash());
+    ASSERT_EQ(0x000005b5u, ImmutableString("imageAtomicOr(01g00D00D").mangledNameHash());
+    ASSERT_EQ(0x000005f4u, ImmutableString("imageAtomicOr(01h00D00D").mangledNameHash());
     ASSERT_EQ(0x000000c0u, ImmutableString("imageAtomicOr(01E20D00D").mangledNameHash());
     ASSERT_EQ(0x00000322u, ImmutableString("imageAtomicOr(01F20D00D").mangledNameHash());
-    ASSERT_EQ(0x000007a3u, ImmutableString("imageAtomicOr(01G20D00D").mangledNameHash());
-    ASSERT_EQ(0x000006abu, ImmutableString("imageAtomicOr(01Z20D00D").mangledNameHash());
+    ASSERT_EQ(0x000007a4u, ImmutableString("imageAtomicOr(01G20D00D").mangledNameHash());
+    ASSERT_EQ(0x000006adu, ImmutableString("imageAtomicOr(01Z20D00D").mangledNameHash());
     ASSERT_EQ(0x00000298u, ImmutableString("imageAtomicOr(01a20D00D").mangledNameHash());
     ASSERT_EQ(0x00000901u, ImmutableString("imageAtomicOr(01b20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000501u, ImmutableString("imageAtomicOr(01K00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000504u, ImmutableString("imageAtomicOr(01K00D00D").mangledNameHash());
     ASSERT_EQ(0x00000146u, ImmutableString("imageAtomicOr(01L00D00D").mangledNameHash());
     ASSERT_EQ(0x000000aeu, ImmutableString("imageAtomicOr(01M00D00D").mangledNameHash());
     ASSERT_EQ(0x0000004eu, ImmutableString("imageAtomicOr(01N10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000651u, ImmutableString("imageAtomicOr(01O10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000653u, ImmutableString("imageAtomicOr(01O10D00D").mangledNameHash());
     ASSERT_EQ(0x000000ffu, ImmutableString("imageAtomicOr(01P10D00D").mangledNameHash());
-    ASSERT_EQ(0x000003adu, ImmutableString("imageAtomicOr(01W10D00D").mangledNameHash());
-    ASSERT_EQ(0x000006f8u, ImmutableString("imageAtomicOr(01X10D00D").mangledNameHash());
+    ASSERT_EQ(0x000003afu, ImmutableString("imageAtomicOr(01W10D00D").mangledNameHash());
+    ASSERT_EQ(0x000006f9u, ImmutableString("imageAtomicOr(01X10D00D").mangledNameHash());
     ASSERT_EQ(0x000001beu, ImmutableString("imageAtomicOr(01Y10D00D").mangledNameHash());
     ASSERT_EQ(0x0000003au, ImmutableString("imageAtomicOr(01Q10D00D00D").mangledNameHash());
     ASSERT_EQ(0x000000d4u, ImmutableString("imageAtomicOr(01R10D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000911u, ImmutableString("imageAtomicOr(01S10D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000003c0u, ImmutableString("imageAtomicOr(01T20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000756u, ImmutableString("imageAtomicOr(01U20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000004b9u, ImmutableString("imageAtomicOr(01V20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000049fu, ImmutableString("imageAtomicXor(00y10D00E").mangledNameHash());
+    ASSERT_EQ(0x000003c2u, ImmutableString("imageAtomicOr(01T20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000757u, ImmutableString("imageAtomicOr(01U20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000004bcu, ImmutableString("imageAtomicOr(01V20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000004a2u, ImmutableString("imageAtomicXor(00y10D00E").mangledNameHash());
     ASSERT_EQ(0x00000084u, ImmutableString("imageAtomicXor(00z10D00E").mangledNameHash());
-    ASSERT_EQ(0x00000474u, ImmutableString("imageAtomicXor(01A10D00E").mangledNameHash());
+    ASSERT_EQ(0x00000477u, ImmutableString("imageAtomicXor(01A10D00E").mangledNameHash());
     ASSERT_EQ(0x000000d1u, ImmutableString("imageAtomicXor(01B20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000060du, ImmutableString("imageAtomicXor(01C20D00E").mangledNameHash());
-    ASSERT_EQ(0x000006beu, ImmutableString("imageAtomicXor(01D20D00E").mangledNameHash());
+    ASSERT_EQ(0x0000060fu, ImmutableString("imageAtomicXor(01C20D00E").mangledNameHash());
+    ASSERT_EQ(0x000006c0u, ImmutableString("imageAtomicXor(01D20D00E").mangledNameHash());
     ASSERT_EQ(0x000000b9u, ImmutableString("imageAtomicXor(01H20D00E").mangledNameHash());
     ASSERT_EQ(0x0000022cu, ImmutableString("imageAtomicXor(01I20D00E").mangledNameHash());
     ASSERT_EQ(0x000008acu, ImmutableString("imageAtomicXor(01J20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000062bu, ImmutableString("imageAtomicXor(01f00D00E").mangledNameHash());
-    ASSERT_EQ(0x0000062cu, ImmutableString("imageAtomicXor(01g00D00E").mangledNameHash());
+    ASSERT_EQ(0x0000062du, ImmutableString("imageAtomicXor(01f00D00E").mangledNameHash());
+    ASSERT_EQ(0x0000062eu, ImmutableString("imageAtomicXor(01g00D00E").mangledNameHash());
     ASSERT_EQ(0x00000284u, ImmutableString("imageAtomicXor(01h00D00E").mangledNameHash());
     ASSERT_EQ(0x00000921u, ImmutableString("imageAtomicXor(01E20D00E").mangledNameHash());
     ASSERT_EQ(0x0000015fu, ImmutableString("imageAtomicXor(01F20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000080bu, ImmutableString("imageAtomicXor(01G20D00E").mangledNameHash());
+    ASSERT_EQ(0x0000080cu, ImmutableString("imageAtomicXor(01G20D00E").mangledNameHash());
     ASSERT_EQ(0x000002d8u, ImmutableString("imageAtomicXor(01Z20D00E").mangledNameHash());
     ASSERT_EQ(0x0000008eu, ImmutableString("imageAtomicXor(01a20D00E").mangledNameHash());
     ASSERT_EQ(0x000001edu, ImmutableString("imageAtomicXor(01b20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000075eu, ImmutableString("imageAtomicXor(01K00D00E").mangledNameHash());
+    ASSERT_EQ(0x0000075fu, ImmutableString("imageAtomicXor(01K00D00E").mangledNameHash());
     ASSERT_EQ(0x000001cau, ImmutableString("imageAtomicXor(01L00D00E").mangledNameHash());
-    ASSERT_EQ(0x000005cfu, ImmutableString("imageAtomicXor(01M00D00E").mangledNameHash());
+    ASSERT_EQ(0x000005d1u, ImmutableString("imageAtomicXor(01M00D00E").mangledNameHash());
     ASSERT_EQ(0x00000101u, ImmutableString("imageAtomicXor(01N10D00E").mangledNameHash());
     ASSERT_EQ(0x00000885u, ImmutableString("imageAtomicXor(01O10D00E").mangledNameHash());
-    ASSERT_EQ(0x000006f4u, ImmutableString("imageAtomicXor(01P10D00E").mangledNameHash());
-    ASSERT_EQ(0x00000478u, ImmutableString("imageAtomicXor(01W10D00E").mangledNameHash());
-    ASSERT_EQ(0x0000059cu, ImmutableString("imageAtomicXor(01X10D00E").mangledNameHash());
+    ASSERT_EQ(0x000006f5u, ImmutableString("imageAtomicXor(01P10D00E").mangledNameHash());
+    ASSERT_EQ(0x0000047bu, ImmutableString("imageAtomicXor(01W10D00E").mangledNameHash());
+    ASSERT_EQ(0x0000059eu, ImmutableString("imageAtomicXor(01X10D00E").mangledNameHash());
     ASSERT_EQ(0x00000070u, ImmutableString("imageAtomicXor(01Y10D00E").mangledNameHash());
     ASSERT_EQ(0x00000045u, ImmutableString("imageAtomicXor(01Q10D00D00E").mangledNameHash());
     ASSERT_EQ(0x00000044u, ImmutableString("imageAtomicXor(01R10D00D00E").mangledNameHash());
     ASSERT_EQ(0x00000215u, ImmutableString("imageAtomicXor(01S10D00D00E").mangledNameHash());
-    ASSERT_EQ(0x00000358u, ImmutableString("imageAtomicXor(01T20D00D00E").mangledNameHash());
+    ASSERT_EQ(0x00000359u, ImmutableString("imageAtomicXor(01T20D00D00E").mangledNameHash());
     ASSERT_EQ(0x00000225u, ImmutableString("imageAtomicXor(01U20D00D00E").mangledNameHash());
-    ASSERT_EQ(0x00000585u, ImmutableString("imageAtomicXor(01V20D00D00E").mangledNameHash());
-    ASSERT_EQ(0x000004a0u, ImmutableString("imageAtomicXor(00y10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000489u, ImmutableString("imageAtomicXor(00z10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000473u, ImmutableString("imageAtomicXor(01A10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000588u, ImmutableString("imageAtomicXor(01V20D00D00E").mangledNameHash());
+    ASSERT_EQ(0x000004a3u, ImmutableString("imageAtomicXor(00y10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000048cu, ImmutableString("imageAtomicXor(00z10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000476u, ImmutableString("imageAtomicXor(01A10D00D").mangledNameHash());
     ASSERT_EQ(0x000000d0u, ImmutableString("imageAtomicXor(01B20D00D").mangledNameHash());
     ASSERT_EQ(0x000008dcu, ImmutableString("imageAtomicXor(01C20D00D").mangledNameHash());
-    ASSERT_EQ(0x000006bdu, ImmutableString("imageAtomicXor(01D20D00D").mangledNameHash());
+    ASSERT_EQ(0x000006bfu, ImmutableString("imageAtomicXor(01D20D00D").mangledNameHash());
     ASSERT_EQ(0x000000b8u, ImmutableString("imageAtomicXor(01H20D00D").mangledNameHash());
     ASSERT_EQ(0x0000022du, ImmutableString("imageAtomicXor(01I20D00D").mangledNameHash());
     ASSERT_EQ(0x000008abu, ImmutableString("imageAtomicXor(01J20D00D").mangledNameHash());
-    ASSERT_EQ(0x0000062au, ImmutableString("imageAtomicXor(01f00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000354u, ImmutableString("imageAtomicXor(01g00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000062cu, ImmutableString("imageAtomicXor(01f00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000355u, ImmutableString("imageAtomicXor(01g00D00D").mangledNameHash());
     ASSERT_EQ(0x00000283u, ImmutableString("imageAtomicXor(01h00D00D").mangledNameHash());
     ASSERT_EQ(0x00000922u, ImmutableString("imageAtomicXor(01E20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000842u, ImmutableString("imageAtomicXor(01F20D00D").mangledNameHash());
-    ASSERT_EQ(0x0000080cu, ImmutableString("imageAtomicXor(01G20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000843u, ImmutableString("imageAtomicXor(01F20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000080du, ImmutableString("imageAtomicXor(01G20D00D").mangledNameHash());
     ASSERT_EQ(0x000002d7u, ImmutableString("imageAtomicXor(01Z20D00D").mangledNameHash());
     ASSERT_EQ(0x0000008fu, ImmutableString("imageAtomicXor(01a20D00D").mangledNameHash());
     ASSERT_EQ(0x00000266u, ImmutableString("imageAtomicXor(01b20D00D").mangledNameHash());
-    ASSERT_EQ(0x0000074fu, ImmutableString("imageAtomicXor(01K00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000365u, ImmutableString("imageAtomicXor(01L00D00D").mangledNameHash());
-    ASSERT_EQ(0x000005d0u, ImmutableString("imageAtomicXor(01M00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000750u, ImmutableString("imageAtomicXor(01K00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000366u, ImmutableString("imageAtomicXor(01L00D00D").mangledNameHash());
+    ASSERT_EQ(0x000005d2u, ImmutableString("imageAtomicXor(01M00D00D").mangledNameHash());
     ASSERT_EQ(0x00000102u, ImmutableString("imageAtomicXor(01N10D00D").mangledNameHash());
     ASSERT_EQ(0x00000884u, ImmutableString("imageAtomicXor(01O10D00D").mangledNameHash());
     ASSERT_EQ(0x000002bfu, ImmutableString("imageAtomicXor(01P10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000477u, ImmutableString("imageAtomicXor(01W10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000059du, ImmutableString("imageAtomicXor(01X10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000047au, ImmutableString("imageAtomicXor(01W10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000059fu, ImmutableString("imageAtomicXor(01X10D00D").mangledNameHash());
     ASSERT_EQ(0x0000006fu, ImmutableString("imageAtomicXor(01Y10D00D").mangledNameHash());
     ASSERT_EQ(0x00000048u, ImmutableString("imageAtomicXor(01Q10D00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000357u, ImmutableString("imageAtomicXor(01R10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000358u, ImmutableString("imageAtomicXor(01R10D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000216u, ImmutableString("imageAtomicXor(01S10D00D00D").mangledNameHash());
     ASSERT_EQ(0x000001f7u, ImmutableString("imageAtomicXor(01T20D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000224u, ImmutableString("imageAtomicXor(01U20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000586u, ImmutableString("imageAtomicXor(01V20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000589u, ImmutableString("imageAtomicXor(01V20D00D00D").mangledNameHash());
     ASSERT_EQ(0x0000024du, ImmutableString("imageAtomicExchange(00y10D00E").mangledNameHash());
-    ASSERT_EQ(0x0000057cu, ImmutableString("imageAtomicExchange(00z10D00E").mangledNameHash());
+    ASSERT_EQ(0x0000057fu, ImmutableString("imageAtomicExchange(00z10D00E").mangledNameHash());
     ASSERT_EQ(0x00000264u, ImmutableString("imageAtomicExchange(01A10D00E").mangledNameHash());
-    ASSERT_EQ(0x000004f1u, ImmutableString("imageAtomicExchange(01B20D00E").mangledNameHash());
+    ASSERT_EQ(0x000004f4u, ImmutableString("imageAtomicExchange(01B20D00E").mangledNameHash());
     ASSERT_EQ(0x00000867u, ImmutableString("imageAtomicExchange(01C20D00E").mangledNameHash());
-    ASSERT_EQ(0x000003c3u, ImmutableString("imageAtomicExchange(01D20D00E").mangledNameHash());
-    ASSERT_EQ(0x000006edu, ImmutableString("imageAtomicExchange(01H20D00E").mangledNameHash());
-    ASSERT_EQ(0x000004c7u, ImmutableString("imageAtomicExchange(01I20D00E").mangledNameHash());
-    ASSERT_EQ(0x0000043au, ImmutableString("imageAtomicExchange(01J20D00E").mangledNameHash());
+    ASSERT_EQ(0x000003c5u, ImmutableString("imageAtomicExchange(01D20D00E").mangledNameHash());
+    ASSERT_EQ(0x000006eeu, ImmutableString("imageAtomicExchange(01H20D00E").mangledNameHash());
+    ASSERT_EQ(0x000004cau, ImmutableString("imageAtomicExchange(01I20D00E").mangledNameHash());
+    ASSERT_EQ(0x0000043cu, ImmutableString("imageAtomicExchange(01J20D00E").mangledNameHash());
     ASSERT_EQ(0x0000014bu, ImmutableString("imageAtomicExchange(01f00D00E").mangledNameHash());
     ASSERT_EQ(0x00000336u, ImmutableString("imageAtomicExchange(01g00D00E").mangledNameHash());
-    ASSERT_EQ(0x0000056du, ImmutableString("imageAtomicExchange(01h00D00E").mangledNameHash());
-    ASSERT_EQ(0x0000039eu, ImmutableString("imageAtomicExchange(01E20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000570u, ImmutableString("imageAtomicExchange(01h00D00E").mangledNameHash());
+    ASSERT_EQ(0x0000039fu, ImmutableString("imageAtomicExchange(01E20D00E").mangledNameHash());
     ASSERT_EQ(0x000001f1u, ImmutableString("imageAtomicExchange(01F20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000685u, ImmutableString("imageAtomicExchange(01G20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000687u, ImmutableString("imageAtomicExchange(01G20D00E").mangledNameHash());
     ASSERT_EQ(0x00000149u, ImmutableString("imageAtomicExchange(01Z20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000824u, ImmutableString("imageAtomicExchange(01a20D00E").mangledNameHash());
+    ASSERT_EQ(0x00000825u, ImmutableString("imageAtomicExchange(01a20D00E").mangledNameHash());
     ASSERT_EQ(0x00000050u, ImmutableString("imageAtomicExchange(01b20D00E").mangledNameHash());
-    ASSERT_EQ(0x00000580u, ImmutableString("imageAtomicExchange(01K00D00E").mangledNameHash());
-    ASSERT_EQ(0x0000064bu, ImmutableString("imageAtomicExchange(01L00D00E").mangledNameHash());
+    ASSERT_EQ(0x00000583u, ImmutableString("imageAtomicExchange(01K00D00E").mangledNameHash());
+    ASSERT_EQ(0x0000064du, ImmutableString("imageAtomicExchange(01L00D00E").mangledNameHash());
     ASSERT_EQ(0x000001f3u, ImmutableString("imageAtomicExchange(01M00D00E").mangledNameHash());
     ASSERT_EQ(0x0000026du, ImmutableString("imageAtomicExchange(01N10D00E").mangledNameHash());
-    ASSERT_EQ(0x0000036eu, ImmutableString("imageAtomicExchange(01O10D00E").mangledNameHash());
-    ASSERT_EQ(0x000004bfu, ImmutableString("imageAtomicExchange(01P10D00E").mangledNameHash());
+    ASSERT_EQ(0x0000036fu, ImmutableString("imageAtomicExchange(01O10D00E").mangledNameHash());
+    ASSERT_EQ(0x000004c2u, ImmutableString("imageAtomicExchange(01P10D00E").mangledNameHash());
     ASSERT_EQ(0x00000191u, ImmutableString("imageAtomicExchange(01W10D00E").mangledNameHash());
     ASSERT_EQ(0x000002eeu, ImmutableString("imageAtomicExchange(01X10D00E").mangledNameHash());
-    ASSERT_EQ(0x000006b8u, ImmutableString("imageAtomicExchange(01Y10D00E").mangledNameHash());
-    ASSERT_EQ(0x0000046du, ImmutableString("imageAtomicExchange(01Q10D00D00E").mangledNameHash());
-    ASSERT_EQ(0x0000049bu, ImmutableString("imageAtomicExchange(01R10D00D00E").mangledNameHash());
+    ASSERT_EQ(0x000006bau, ImmutableString("imageAtomicExchange(01Y10D00E").mangledNameHash());
+    ASSERT_EQ(0x00000470u, ImmutableString("imageAtomicExchange(01Q10D00D00E").mangledNameHash());
+    ASSERT_EQ(0x0000049eu, ImmutableString("imageAtomicExchange(01R10D00D00E").mangledNameHash());
     ASSERT_EQ(0x000001a3u, ImmutableString("imageAtomicExchange(01S10D00D00E").mangledNameHash());
     ASSERT_EQ(0x00000302u, ImmutableString("imageAtomicExchange(01T20D00D00E").mangledNameHash());
-    ASSERT_EQ(0x0000065au, ImmutableString("imageAtomicExchange(01U20D00D00E").mangledNameHash());
+    ASSERT_EQ(0x0000065cu, ImmutableString("imageAtomicExchange(01U20D00D00E").mangledNameHash());
     ASSERT_EQ(0x00000248u, ImmutableString("imageAtomicExchange(01V20D00D00E").mangledNameHash());
     ASSERT_EQ(0x0000024cu, ImmutableString("imageAtomicExchange(00y10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000057du, ImmutableString("imageAtomicExchange(00z10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000580u, ImmutableString("imageAtomicExchange(00z10D00D").mangledNameHash());
     ASSERT_EQ(0x00000265u, ImmutableString("imageAtomicExchange(01A10D00D").mangledNameHash());
-    ASSERT_EQ(0x000004f2u, ImmutableString("imageAtomicExchange(01B20D00D").mangledNameHash());
+    ASSERT_EQ(0x000004f5u, ImmutableString("imageAtomicExchange(01B20D00D").mangledNameHash());
     ASSERT_EQ(0x00000866u, ImmutableString("imageAtomicExchange(01C20D00D").mangledNameHash());
-    ASSERT_EQ(0x0000050au, ImmutableString("imageAtomicExchange(01D20D00D").mangledNameHash());
-    ASSERT_EQ(0x000006eeu, ImmutableString("imageAtomicExchange(01H20D00D").mangledNameHash());
-    ASSERT_EQ(0x000004c6u, ImmutableString("imageAtomicExchange(01I20D00D").mangledNameHash());
-    ASSERT_EQ(0x0000043bu, ImmutableString("imageAtomicExchange(01J20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000050du, ImmutableString("imageAtomicExchange(01D20D00D").mangledNameHash());
+    ASSERT_EQ(0x000006efu, ImmutableString("imageAtomicExchange(01H20D00D").mangledNameHash());
+    ASSERT_EQ(0x000004c9u, ImmutableString("imageAtomicExchange(01I20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000043du, ImmutableString("imageAtomicExchange(01J20D00D").mangledNameHash());
     ASSERT_EQ(0x0000014cu, ImmutableString("imageAtomicExchange(01f00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000071eu, ImmutableString("imageAtomicExchange(01g00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000056eu, ImmutableString("imageAtomicExchange(01h00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000039du, ImmutableString("imageAtomicExchange(01E20D00D").mangledNameHash());
+    ASSERT_EQ(0x0000071fu, ImmutableString("imageAtomicExchange(01g00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000571u, ImmutableString("imageAtomicExchange(01h00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000039eu, ImmutableString("imageAtomicExchange(01E20D00D").mangledNameHash());
     ASSERT_EQ(0x000000c5u, ImmutableString("imageAtomicExchange(01F20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000684u, ImmutableString("imageAtomicExchange(01G20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000686u, ImmutableString("imageAtomicExchange(01G20D00D").mangledNameHash());
     ASSERT_EQ(0x0000014au, ImmutableString("imageAtomicExchange(01Z20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000823u, ImmutableString("imageAtomicExchange(01a20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000824u, ImmutableString("imageAtomicExchange(01a20D00D").mangledNameHash());
     ASSERT_EQ(0x00000051u, ImmutableString("imageAtomicExchange(01b20D00D").mangledNameHash());
-    ASSERT_EQ(0x0000085au, ImmutableString("imageAtomicExchange(01K00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000053eu, ImmutableString("imageAtomicExchange(01L00D00D").mangledNameHash());
+    ASSERT_EQ(0x000003a6u, ImmutableString("imageAtomicExchange(01K00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000541u, ImmutableString("imageAtomicExchange(01L00D00D").mangledNameHash());
     ASSERT_EQ(0x000001f2u, ImmutableString("imageAtomicExchange(01M00D00D").mangledNameHash());
     ASSERT_EQ(0x00000072u, ImmutableString("imageAtomicExchange(01N10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000083au, ImmutableString("imageAtomicExchange(01O10D00D").mangledNameHash());
-    ASSERT_EQ(0x000004bbu, ImmutableString("imageAtomicExchange(01P10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000083bu, ImmutableString("imageAtomicExchange(01O10D00D").mangledNameHash());
+    ASSERT_EQ(0x000004beu, ImmutableString("imageAtomicExchange(01P10D00D").mangledNameHash());
     ASSERT_EQ(0x00000192u, ImmutableString("imageAtomicExchange(01W10D00D").mangledNameHash());
     ASSERT_EQ(0x000002edu, ImmutableString("imageAtomicExchange(01X10D00D").mangledNameHash());
-    ASSERT_EQ(0x000006b9u, ImmutableString("imageAtomicExchange(01Y10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000046cu, ImmutableString("imageAtomicExchange(01Q10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000006bbu, ImmutableString("imageAtomicExchange(01Y10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000046fu, ImmutableString("imageAtomicExchange(01Q10D00D00D").mangledNameHash());
     ASSERT_EQ(0x0000002du, ImmutableString("imageAtomicExchange(01R10D00D00D").mangledNameHash());
     ASSERT_EQ(0x000002b4u, ImmutableString("imageAtomicExchange(01S10D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000301u, ImmutableString("imageAtomicExchange(01T20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000065eu, ImmutableString("imageAtomicExchange(01U20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000438u, ImmutableString("imageAtomicExchange(01V20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000066cu, ImmutableString("imageAtomicCompSwap(00y10D00E00E").mangledNameHash());
-    ASSERT_EQ(0x0000045eu, ImmutableString("imageAtomicCompSwap(00z10D00E00E").mangledNameHash());
-    ASSERT_EQ(0x00000453u, ImmutableString("imageAtomicCompSwap(01A10D00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000660u, ImmutableString("imageAtomicExchange(01U20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000043au, ImmutableString("imageAtomicExchange(01V20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000066eu, ImmutableString("imageAtomicCompSwap(00y10D00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000461u, ImmutableString("imageAtomicCompSwap(00z10D00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000456u, ImmutableString("imageAtomicCompSwap(01A10D00E00E").mangledNameHash());
     ASSERT_EQ(0x00000234u, ImmutableString("imageAtomicCompSwap(01B20D00E00E").mangledNameHash());
-    ASSERT_EQ(0x0000083bu, ImmutableString("imageAtomicCompSwap(01C20D00E00E").mangledNameHash());
-    ASSERT_EQ(0x0000079bu, ImmutableString("imageAtomicCompSwap(01D20D00E00E").mangledNameHash());
-    ASSERT_EQ(0x000006ecu, ImmutableString("imageAtomicCompSwap(01H20D00E00E").mangledNameHash());
+    ASSERT_EQ(0x0000083cu, ImmutableString("imageAtomicCompSwap(01C20D00E00E").mangledNameHash());
+    ASSERT_EQ(0x0000079cu, ImmutableString("imageAtomicCompSwap(01D20D00E00E").mangledNameHash());
+    ASSERT_EQ(0x000006edu, ImmutableString("imageAtomicCompSwap(01H20D00E00E").mangledNameHash());
     ASSERT_EQ(0x000000eau, ImmutableString("imageAtomicCompSwap(01I20D00E00E").mangledNameHash());
     ASSERT_EQ(0x00000061u, ImmutableString("imageAtomicCompSwap(01J20D00E00E").mangledNameHash());
-    ASSERT_EQ(0x000004fdu, ImmutableString("imageAtomicCompSwap(01f00D00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000500u, ImmutableString("imageAtomicCompSwap(01f00D00E00E").mangledNameHash());
     ASSERT_EQ(0x00000881u, ImmutableString("imageAtomicCompSwap(01g00D00E00E").mangledNameHash());
     ASSERT_EQ(0x00000238u, ImmutableString("imageAtomicCompSwap(01h00D00E00E").mangledNameHash());
     ASSERT_EQ(0x0000014eu, ImmutableString("imageAtomicCompSwap(01E20D00E00E").mangledNameHash());
     ASSERT_EQ(0x000001f4u, ImmutableString("imageAtomicCompSwap(01F20D00E00E").mangledNameHash());
-    ASSERT_EQ(0x00000395u, ImmutableString("imageAtomicCompSwap(01G20D00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000396u, ImmutableString("imageAtomicCompSwap(01G20D00E00E").mangledNameHash());
     ASSERT_EQ(0x000002b6u, ImmutableString("imageAtomicCompSwap(01Z20D00E00E").mangledNameHash());
     ASSERT_EQ(0x0000002au, ImmutableString("imageAtomicCompSwap(01a20D00E00E").mangledNameHash());
-    ASSERT_EQ(0x00000381u, ImmutableString("imageAtomicCompSwap(01b20D00E00E").mangledNameHash());
-    ASSERT_EQ(0x000004b7u, ImmutableString("imageAtomicCompSwap(01K00D00E00E").mangledNameHash());
-    ASSERT_EQ(0x00000613u, ImmutableString("imageAtomicCompSwap(01L00D00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000382u, ImmutableString("imageAtomicCompSwap(01b20D00E00E").mangledNameHash());
+    ASSERT_EQ(0x000004bau, ImmutableString("imageAtomicCompSwap(01K00D00E00E").mangledNameHash());
+    ASSERT_EQ(0x00000615u, ImmutableString("imageAtomicCompSwap(01L00D00E00E").mangledNameHash());
     ASSERT_EQ(0x000002fdu, ImmutableString("imageAtomicCompSwap(01M00D00E00E").mangledNameHash());
-    ASSERT_EQ(0x000005fau, ImmutableString("imageAtomicCompSwap(01N10D00E00E").mangledNameHash());
+    ASSERT_EQ(0x000005fcu, ImmutableString("imageAtomicCompSwap(01N10D00E00E").mangledNameHash());
     ASSERT_EQ(0x0000015du, ImmutableString("imageAtomicCompSwap(01O10D00E00E").mangledNameHash());
     ASSERT_EQ(0x00000096u, ImmutableString("imageAtomicCompSwap(01P10D00E00E").mangledNameHash());
     ASSERT_EQ(0x0000020du, ImmutableString("imageAtomicCompSwap(01W10D00E00E").mangledNameHash());
@@ -1804,204 +1804,204 @@
     ASSERT_EQ(0x0000024au, ImmutableString("imageAtomicCompSwap(01Y10D00E00E").mangledNameHash());
     ASSERT_EQ(0x00000883u,
               ImmutableString("imageAtomicCompSwap(01Q10D00D00E00E").mangledNameHash());
-    ASSERT_EQ(0x000003d9u,
+    ASSERT_EQ(0x000003dbu,
               ImmutableString("imageAtomicCompSwap(01R10D00D00E00E").mangledNameHash());
-    ASSERT_EQ(0x000004d4u,
+    ASSERT_EQ(0x000004d7u,
               ImmutableString("imageAtomicCompSwap(01S10D00D00E00E").mangledNameHash());
     ASSERT_EQ(0x000002ceu,
               ImmutableString("imageAtomicCompSwap(01T20D00D00E00E").mangledNameHash());
-    ASSERT_EQ(0x00000705u,
+    ASSERT_EQ(0x00000706u,
               ImmutableString("imageAtomicCompSwap(01U20D00D00E00E").mangledNameHash());
-    ASSERT_EQ(0x000007f6u,
+    ASSERT_EQ(0x000007f7u,
               ImmutableString("imageAtomicCompSwap(01V20D00D00E00E").mangledNameHash());
-    ASSERT_EQ(0x00000518u, ImmutableString("imageAtomicCompSwap(00y10D00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000827u, ImmutableString("imageAtomicCompSwap(00z10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000051bu, ImmutableString("imageAtomicCompSwap(00y10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000828u, ImmutableString("imageAtomicCompSwap(00z10D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000078u, ImmutableString("imageAtomicCompSwap(01A10D00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000384u, ImmutableString("imageAtomicCompSwap(01B20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000475u, ImmutableString("imageAtomicCompSwap(01C20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000385u, ImmutableString("imageAtomicCompSwap(01B20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000478u, ImmutableString("imageAtomicCompSwap(01C20D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000041u, ImmutableString("imageAtomicCompSwap(01D20D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000130u, ImmutableString("imageAtomicCompSwap(01H20D00D00D").mangledNameHash());
     ASSERT_EQ(0x000002fbu, ImmutableString("imageAtomicCompSwap(01I20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000003f3u, ImmutableString("imageAtomicCompSwap(01J20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000003f5u, ImmutableString("imageAtomicCompSwap(01J20D00D00D").mangledNameHash());
     ASSERT_EQ(0x0000000du, ImmutableString("imageAtomicCompSwap(01f00D00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000073cu, ImmutableString("imageAtomicCompSwap(01g00D00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000073du, ImmutableString("imageAtomicCompSwap(01g00D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000342u, ImmutableString("imageAtomicCompSwap(01h00D00D00D").mangledNameHash());
     ASSERT_EQ(0x0000000bu, ImmutableString("imageAtomicCompSwap(01E20D00D00D").mangledNameHash());
     ASSERT_EQ(0x0000032fu, ImmutableString("imageAtomicCompSwap(01F20D00D00D").mangledNameHash());
     ASSERT_EQ(0x000002a6u, ImmutableString("imageAtomicCompSwap(01G20D00D00D").mangledNameHash());
     ASSERT_EQ(0x000001d9u, ImmutableString("imageAtomicCompSwap(01Z20D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000005deu, ImmutableString("imageAtomicCompSwap(01a20D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000005e0u, ImmutableString("imageAtomicCompSwap(01a20D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000032u, ImmutableString("imageAtomicCompSwap(01b20D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000140u, ImmutableString("imageAtomicCompSwap(01K00D00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000069fu, ImmutableString("imageAtomicCompSwap(01L00D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000006a1u, ImmutableString("imageAtomicCompSwap(01L00D00D00D").mangledNameHash());
     ASSERT_EQ(0x000001b7u, ImmutableString("imageAtomicCompSwap(01M00D00D00D").mangledNameHash());
     ASSERT_EQ(0x0000023eu, ImmutableString("imageAtomicCompSwap(01N10D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000003c6u, ImmutableString("imageAtomicCompSwap(01O10D00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000071au, ImmutableString("imageAtomicCompSwap(01P10D00D00D").mangledNameHash());
-    ASSERT_EQ(0x0000034du, ImmutableString("imageAtomicCompSwap(01W10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000003c8u, ImmutableString("imageAtomicCompSwap(01O10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000071bu, ImmutableString("imageAtomicCompSwap(01P10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x0000034eu, ImmutableString("imageAtomicCompSwap(01W10D00D00D").mangledNameHash());
     ASSERT_EQ(0x000008a4u, ImmutableString("imageAtomicCompSwap(01X10D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000006f9u, ImmutableString("imageAtomicCompSwap(01Y10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000006fau, ImmutableString("imageAtomicCompSwap(01Y10D00D00D").mangledNameHash());
     ASSERT_EQ(0x000000b4u,
               ImmutableString("imageAtomicCompSwap(01Q10D00D00D00D").mangledNameHash());
     ASSERT_EQ(0x0000002bu,
               ImmutableString("imageAtomicCompSwap(01R10D00D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000006b0u,
+    ASSERT_EQ(0x000006b2u,
               ImmutableString("imageAtomicCompSwap(01S10D00D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000006eau,
+    ASSERT_EQ(0x0000034bu,
               ImmutableString("imageAtomicCompSwap(01T20D00D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000005b9u,
+    ASSERT_EQ(0x000005bbu,
               ImmutableString("imageAtomicCompSwap(01U20D00D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000263u,
               ImmutableString("imageAtomicCompSwap(01V20D00D00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000589u, ImmutableString("imageLoad(01f00D").mangledNameHash());
+    ASSERT_EQ(0x0000058cu, ImmutableString("imageLoad(01f00D").mangledNameHash());
     ASSERT_EQ(0x00000008u, ImmutableString("imageLoad(01g00D").mangledNameHash());
     ASSERT_EQ(0x0000014du, ImmutableString("imageLoad(01h00D").mangledNameHash());
     ASSERT_EQ(0x0000089au, ImmutableString("imageLoad(01Z20D").mangledNameHash());
-    ASSERT_EQ(0x00000483u, ImmutableString("imageLoad(01a20D").mangledNameHash());
-    ASSERT_EQ(0x0000075fu, ImmutableString("imageLoad(01b20D").mangledNameHash());
+    ASSERT_EQ(0x00000486u, ImmutableString("imageLoad(01a20D").mangledNameHash());
+    ASSERT_EQ(0x00000760u, ImmutableString("imageLoad(01b20D").mangledNameHash());
     ASSERT_EQ(0x00000132u, ImmutableString("imageLoad(01K00D").mangledNameHash());
-    ASSERT_EQ(0x000004bcu, ImmutableString("imageLoad(01L00D").mangledNameHash());
-    ASSERT_EQ(0x00000612u, ImmutableString("imageLoad(01M00D").mangledNameHash());
-    ASSERT_EQ(0x000006a8u, ImmutableString("imageLoad(01N10D").mangledNameHash());
+    ASSERT_EQ(0x000004bfu, ImmutableString("imageLoad(01L00D").mangledNameHash());
+    ASSERT_EQ(0x00000614u, ImmutableString("imageLoad(01M00D").mangledNameHash());
+    ASSERT_EQ(0x000006aau, ImmutableString("imageLoad(01N10D").mangledNameHash());
     ASSERT_EQ(0x000002c3u, ImmutableString("imageLoad(01O10D").mangledNameHash());
-    ASSERT_EQ(0x00000743u, ImmutableString("imageLoad(01P10D").mangledNameHash());
+    ASSERT_EQ(0x00000744u, ImmutableString("imageLoad(01P10D").mangledNameHash());
     ASSERT_EQ(0x00000178u, ImmutableString("imageLoad(01W10D").mangledNameHash());
     ASSERT_EQ(0x0000018cu, ImmutableString("imageLoad(01X10D").mangledNameHash());
-    ASSERT_EQ(0x00000686u, ImmutableString("imageLoad(01Y10D").mangledNameHash());
-    ASSERT_EQ(0x00000620u, ImmutableString("imageLoad(01Q10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000785u, ImmutableString("imageLoad(01R10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000688u, ImmutableString("imageLoad(01Y10D").mangledNameHash());
+    ASSERT_EQ(0x00000622u, ImmutableString("imageLoad(01Q10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000786u, ImmutableString("imageLoad(01R10D00D").mangledNameHash());
     ASSERT_EQ(0x0000032cu, ImmutableString("imageLoad(01S10D00D").mangledNameHash());
-    ASSERT_EQ(0x0000034fu, ImmutableString("imageLoad(01T20D00D").mangledNameHash());
-    ASSERT_EQ(0x00000762u, ImmutableString("imageLoad(01U20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000350u, ImmutableString("imageLoad(01T20D00D").mangledNameHash());
+    ASSERT_EQ(0x00000763u, ImmutableString("imageLoad(01U20D00D").mangledNameHash());
     ASSERT_EQ(0x000000c3u, ImmutableString("imageLoad(01V20D00D").mangledNameHash());
     ASSERT_EQ(0x000000e8u, ImmutableString("imageStore(01f00D30B").mangledNameHash());
     ASSERT_EQ(0x000001a1u, ImmutableString("imageStore(01g00D30D").mangledNameHash());
-    ASSERT_EQ(0x0000036fu, ImmutableString("imageStore(01h00D30E").mangledNameHash());
-    ASSERT_EQ(0x0000059eu, ImmutableString("imageStore(01Z20D30B").mangledNameHash());
+    ASSERT_EQ(0x00000370u, ImmutableString("imageStore(01h00D30E").mangledNameHash());
+    ASSERT_EQ(0x000005a0u, ImmutableString("imageStore(01Z20D30B").mangledNameHash());
     ASSERT_EQ(0x000002e5u, ImmutableString("imageStore(01a20D30D").mangledNameHash());
-    ASSERT_EQ(0x000007d4u, ImmutableString("imageStore(01b20D30E").mangledNameHash());
+    ASSERT_EQ(0x000007d5u, ImmutableString("imageStore(01b20D30E").mangledNameHash());
     ASSERT_EQ(0x0000002eu, ImmutableString("imageStore(01K00D30B").mangledNameHash());
     ASSERT_EQ(0x000000c9u, ImmutableString("imageStore(01L00D30D").mangledNameHash());
     ASSERT_EQ(0x00000198u, ImmutableString("imageStore(01M00D30E").mangledNameHash());
     ASSERT_EQ(0x000001bbu, ImmutableString("imageStore(01N10D30B").mangledNameHash());
     ASSERT_EQ(0x0000085eu, ImmutableString("imageStore(01O10D30D").mangledNameHash());
-    ASSERT_EQ(0x00000558u, ImmutableString("imageStore(01P10D30E").mangledNameHash());
+    ASSERT_EQ(0x0000055bu, ImmutableString("imageStore(01P10D30E").mangledNameHash());
     ASSERT_EQ(0x0000021au, ImmutableString("imageStore(01W10D30B").mangledNameHash());
-    ASSERT_EQ(0x00000523u, ImmutableString("imageStore(01X10D30D").mangledNameHash());
+    ASSERT_EQ(0x00000526u, ImmutableString("imageStore(01X10D30D").mangledNameHash());
     ASSERT_EQ(0x0000019au, ImmutableString("imageStore(01Y10D30E").mangledNameHash());
-    ASSERT_EQ(0x000006f1u, ImmutableString("imageStore(01Q10D00D30B").mangledNameHash());
-    ASSERT_EQ(0x0000067du, ImmutableString("imageStore(01R10D00D30D").mangledNameHash());
-    ASSERT_EQ(0x00000469u, ImmutableString("imageStore(01S10D00D30E").mangledNameHash());
+    ASSERT_EQ(0x000006f2u, ImmutableString("imageStore(01Q10D00D30B").mangledNameHash());
+    ASSERT_EQ(0x0000067fu, ImmutableString("imageStore(01R10D00D30D").mangledNameHash());
+    ASSERT_EQ(0x0000046cu, ImmutableString("imageStore(01S10D00D30E").mangledNameHash());
     ASSERT_EQ(0x000008afu, ImmutableString("imageStore(01T20D00D30B").mangledNameHash());
     ASSERT_EQ(0x0000013au, ImmutableString("imageStore(01U20D00D30D").mangledNameHash());
     ASSERT_EQ(0x000002cdu, ImmutableString("imageStore(01V20D00D30E").mangledNameHash());
-    ASSERT_EQ(0x00000375u, ImmutableString("sqrt(00C").mangledNameHash());
+    ASSERT_EQ(0x00000376u, ImmutableString("sqrt(00C").mangledNameHash());
     ASSERT_EQ(0x000002d5u, ImmutableString("sqrt(10C").mangledNameHash());
-    ASSERT_EQ(0x000004e2u, ImmutableString("sqrt(20C").mangledNameHash());
-    ASSERT_EQ(0x00000426u, ImmutableString("sqrt(30C").mangledNameHash());
+    ASSERT_EQ(0x000004e5u, ImmutableString("sqrt(20C").mangledNameHash());
+    ASSERT_EQ(0x00000428u, ImmutableString("sqrt(30C").mangledNameHash());
     ASSERT_EQ(0x00000046u, ImmutableString("inversesqrt(00C").mangledNameHash());
     ASSERT_EQ(0x000008b8u, ImmutableString("inversesqrt(10C").mangledNameHash());
     ASSERT_EQ(0x0000017du, ImmutableString("inversesqrt(20C").mangledNameHash());
     ASSERT_EQ(0x000000edu, ImmutableString("inversesqrt(30C").mangledNameHash());
-    ASSERT_EQ(0x000003c9u, ImmutableString("abs(00C").mangledNameHash());
+    ASSERT_EQ(0x000003cbu, ImmutableString("abs(00C").mangledNameHash());
     ASSERT_EQ(0x00000332u, ImmutableString("abs(10C").mangledNameHash());
     ASSERT_EQ(0x00000292u, ImmutableString("abs(20C").mangledNameHash());
     ASSERT_EQ(0x000008bbu, ImmutableString("abs(30C").mangledNameHash());
-    ASSERT_EQ(0x00000642u, ImmutableString("sign(00C").mangledNameHash());
-    ASSERT_EQ(0x000006e0u, ImmutableString("sign(10C").mangledNameHash());
+    ASSERT_EQ(0x00000644u, ImmutableString("sign(00C").mangledNameHash());
+    ASSERT_EQ(0x000006e2u, ImmutableString("sign(10C").mangledNameHash());
     ASSERT_EQ(0x00000065u, ImmutableString("sign(20C").mangledNameHash());
     ASSERT_EQ(0x00000105u, ImmutableString("sign(30C").mangledNameHash());
-    ASSERT_EQ(0x0000048du, ImmutableString("floor(00C").mangledNameHash());
+    ASSERT_EQ(0x00000490u, ImmutableString("floor(00C").mangledNameHash());
     ASSERT_EQ(0x00000151u, ImmutableString("floor(10C").mangledNameHash());
-    ASSERT_EQ(0x000005fdu, ImmutableString("floor(20C").mangledNameHash());
-    ASSERT_EQ(0x00000557u, ImmutableString("floor(30C").mangledNameHash());
-    ASSERT_EQ(0x00000850u, ImmutableString("trunc(00C").mangledNameHash());
-    ASSERT_EQ(0x000006d1u, ImmutableString("trunc(10C").mangledNameHash());
+    ASSERT_EQ(0x000005ffu, ImmutableString("floor(20C").mangledNameHash());
+    ASSERT_EQ(0x0000055au, ImmutableString("floor(30C").mangledNameHash());
+    ASSERT_EQ(0x00000851u, ImmutableString("trunc(00C").mangledNameHash());
+    ASSERT_EQ(0x000006d3u, ImmutableString("trunc(10C").mangledNameHash());
     ASSERT_EQ(0x000008e6u, ImmutableString("trunc(20C").mangledNameHash());
-    ASSERT_EQ(0x00000832u, ImmutableString("trunc(30C").mangledNameHash());
+    ASSERT_EQ(0x00000833u, ImmutableString("trunc(30C").mangledNameHash());
     ASSERT_EQ(0x00000091u, ImmutableString("round(00C").mangledNameHash());
     ASSERT_EQ(0x000008f9u, ImmutableString("round(10C").mangledNameHash());
-    ASSERT_EQ(0x000003d4u, ImmutableString("round(20C").mangledNameHash());
-    ASSERT_EQ(0x00000796u, ImmutableString("round(30C").mangledNameHash());
-    ASSERT_EQ(0x00000662u, ImmutableString("roundEven(00C").mangledNameHash());
-    ASSERT_EQ(0x000005a5u, ImmutableString("roundEven(10C").mangledNameHash());
+    ASSERT_EQ(0x000003d6u, ImmutableString("round(20C").mangledNameHash());
+    ASSERT_EQ(0x00000797u, ImmutableString("round(30C").mangledNameHash());
+    ASSERT_EQ(0x00000664u, ImmutableString("roundEven(00C").mangledNameHash());
+    ASSERT_EQ(0x000005a7u, ImmutableString("roundEven(10C").mangledNameHash());
     ASSERT_EQ(0x0000031bu, ImmutableString("roundEven(20C").mangledNameHash());
     ASSERT_EQ(0x00000271u, ImmutableString("roundEven(30C").mangledNameHash());
     ASSERT_EQ(0x00000860u, ImmutableString("ceil(00C").mangledNameHash());
     ASSERT_EQ(0x00000031u, ImmutableString("ceil(10C").mangledNameHash());
     ASSERT_EQ(0x000002c4u, ImmutableString("ceil(20C").mangledNameHash());
-    ASSERT_EQ(0x0000035du, ImmutableString("ceil(30C").mangledNameHash());
-    ASSERT_EQ(0x00000590u, ImmutableString("fract(00C").mangledNameHash());
-    ASSERT_EQ(0x000004cfu, ImmutableString("fract(10C").mangledNameHash());
-    ASSERT_EQ(0x00000412u, ImmutableString("fract(20C").mangledNameHash());
-    ASSERT_EQ(0x00000363u, ImmutableString("fract(30C").mangledNameHash());
+    ASSERT_EQ(0x0000035eu, ImmutableString("ceil(30C").mangledNameHash());
+    ASSERT_EQ(0x00000592u, ImmutableString("fract(00C").mangledNameHash());
+    ASSERT_EQ(0x000004d2u, ImmutableString("fract(10C").mangledNameHash());
+    ASSERT_EQ(0x00000414u, ImmutableString("fract(20C").mangledNameHash());
+    ASSERT_EQ(0x00000364u, ImmutableString("fract(30C").mangledNameHash());
     ASSERT_EQ(0x00000054u, ImmutableString("mod(00C00C").mangledNameHash());
-    ASSERT_EQ(0x00000679u, ImmutableString("mod(10C00C").mangledNameHash());
+    ASSERT_EQ(0x0000067bu, ImmutableString("mod(10C00C").mangledNameHash());
     ASSERT_EQ(0x000001e1u, ImmutableString("mod(20C00C").mangledNameHash());
     ASSERT_EQ(0x00000913u, ImmutableString("mod(30C00C").mangledNameHash());
-    ASSERT_EQ(0x00000353u, ImmutableString("mod(10C10C").mangledNameHash());
-    ASSERT_EQ(0x00000362u, ImmutableString("mod(20C20C").mangledNameHash());
-    ASSERT_EQ(0x00000491u, ImmutableString("mod(30C30C").mangledNameHash());
+    ASSERT_EQ(0x00000354u, ImmutableString("mod(10C10C").mangledNameHash());
+    ASSERT_EQ(0x00000363u, ImmutableString("mod(20C20C").mangledNameHash());
+    ASSERT_EQ(0x00000494u, ImmutableString("mod(30C30C").mangledNameHash());
     ASSERT_EQ(0x00000042u, ImmutableString("min(00C00C").mangledNameHash());
-    ASSERT_EQ(0x000006c1u, ImmutableString("min(10C10C").mangledNameHash());
-    ASSERT_EQ(0x000007fau, ImmutableString("min(20C20C").mangledNameHash());
-    ASSERT_EQ(0x00000486u, ImmutableString("min(30C30C").mangledNameHash());
-    ASSERT_EQ(0x00000776u, ImmutableString("min(10C00C").mangledNameHash());
-    ASSERT_EQ(0x000003e3u, ImmutableString("min(20C00C").mangledNameHash());
+    ASSERT_EQ(0x000006c3u, ImmutableString("min(10C10C").mangledNameHash());
+    ASSERT_EQ(0x000007fbu, ImmutableString("min(20C20C").mangledNameHash());
+    ASSERT_EQ(0x00000489u, ImmutableString("min(30C30C").mangledNameHash());
+    ASSERT_EQ(0x00000777u, ImmutableString("min(10C00C").mangledNameHash());
+    ASSERT_EQ(0x000003e5u, ImmutableString("min(20C00C").mangledNameHash());
     ASSERT_EQ(0x00000129u, ImmutableString("min(30C00C").mangledNameHash());
     ASSERT_EQ(0x000008eau, ImmutableString("max(00C00C").mangledNameHash());
-    ASSERT_EQ(0x0000066eu, ImmutableString("max(10C10C").mangledNameHash());
+    ASSERT_EQ(0x00000670u, ImmutableString("max(10C10C").mangledNameHash());
     ASSERT_EQ(0x00000230u, ImmutableString("max(20C20C").mangledNameHash());
-    ASSERT_EQ(0x000003dcu, ImmutableString("max(30C30C").mangledNameHash());
-    ASSERT_EQ(0x00000726u, ImmutableString("max(10C00C").mangledNameHash());
-    ASSERT_EQ(0x0000061eu, ImmutableString("max(20C00C").mangledNameHash());
+    ASSERT_EQ(0x000003deu, ImmutableString("max(30C30C").mangledNameHash());
+    ASSERT_EQ(0x00000727u, ImmutableString("max(10C00C").mangledNameHash());
+    ASSERT_EQ(0x00000620u, ImmutableString("max(20C00C").mangledNameHash());
     ASSERT_EQ(0x0000033cu, ImmutableString("max(30C00C").mangledNameHash());
-    ASSERT_EQ(0x00000380u, ImmutableString("clamp(00C00C00C").mangledNameHash());
-    ASSERT_EQ(0x000004fcu, ImmutableString("clamp(10C00C00C").mangledNameHash());
+    ASSERT_EQ(0x00000381u, ImmutableString("clamp(00C00C00C").mangledNameHash());
+    ASSERT_EQ(0x000004ffu, ImmutableString("clamp(10C00C00C").mangledNameHash());
     ASSERT_EQ(0x000002adu, ImmutableString("clamp(20C00C00C").mangledNameHash());
-    ASSERT_EQ(0x00000386u, ImmutableString("clamp(30C00C00C").mangledNameHash());
-    ASSERT_EQ(0x000007ddu, ImmutableString("clamp(10C10C10C").mangledNameHash());
+    ASSERT_EQ(0x00000387u, ImmutableString("clamp(30C00C00C").mangledNameHash());
+    ASSERT_EQ(0x000007deu, ImmutableString("clamp(10C10C10C").mangledNameHash());
     ASSERT_EQ(0x00000083u, ImmutableString("clamp(20C20C20C").mangledNameHash());
-    ASSERT_EQ(0x0000073du, ImmutableString("clamp(30C30C30C").mangledNameHash());
-    ASSERT_EQ(0x0000047cu, ImmutableString("mix(00C00C00C").mangledNameHash());
-    ASSERT_EQ(0x000006acu, ImmutableString("mix(10C10C00C").mangledNameHash());
-    ASSERT_EQ(0x00000467u, ImmutableString("mix(20C20C00C").mangledNameHash());
-    ASSERT_EQ(0x00000767u, ImmutableString("mix(30C30C00C").mangledNameHash());
-    ASSERT_EQ(0x00000618u, ImmutableString("mix(10C10C10C").mangledNameHash());
+    ASSERT_EQ(0x0000073eu, ImmutableString("clamp(30C30C30C").mangledNameHash());
+    ASSERT_EQ(0x0000047fu, ImmutableString("mix(00C00C00C").mangledNameHash());
+    ASSERT_EQ(0x000006aeu, ImmutableString("mix(10C10C00C").mangledNameHash());
+    ASSERT_EQ(0x0000046au, ImmutableString("mix(20C20C00C").mangledNameHash());
+    ASSERT_EQ(0x00000768u, ImmutableString("mix(30C30C00C").mangledNameHash());
+    ASSERT_EQ(0x0000061au, ImmutableString("mix(10C10C10C").mangledNameHash());
     ASSERT_EQ(0x000002efu, ImmutableString("mix(20C20C20C").mangledNameHash());
-    ASSERT_EQ(0x00000818u, ImmutableString("mix(30C30C30C").mangledNameHash());
+    ASSERT_EQ(0x00000819u, ImmutableString("mix(30C30C30C").mangledNameHash());
     ASSERT_EQ(0x000001a5u, ImmutableString("mix(00C00C00F").mangledNameHash());
-    ASSERT_EQ(0x00000619u, ImmutableString("mix(10C10C10F").mangledNameHash());
+    ASSERT_EQ(0x0000061bu, ImmutableString("mix(10C10C10F").mangledNameHash());
     ASSERT_EQ(0x000002ecu, ImmutableString("mix(20C20C20F").mangledNameHash());
-    ASSERT_EQ(0x00000817u, ImmutableString("mix(30C30C30F").mangledNameHash());
+    ASSERT_EQ(0x00000818u, ImmutableString("mix(30C30C30F").mangledNameHash());
     ASSERT_EQ(0x0000007eu, ImmutableString("step(00C00C").mangledNameHash());
-    ASSERT_EQ(0x000005dau, ImmutableString("step(10C10C").mangledNameHash());
+    ASSERT_EQ(0x000005dcu, ImmutableString("step(10C10C").mangledNameHash());
     ASSERT_EQ(0x00000183u, ImmutableString("step(20C20C").mangledNameHash());
-    ASSERT_EQ(0x0000041cu, ImmutableString("step(30C30C").mangledNameHash());
+    ASSERT_EQ(0x0000041eu, ImmutableString("step(30C30C").mangledNameHash());
     ASSERT_EQ(0x00000124u, ImmutableString("step(00C10C").mangledNameHash());
-    ASSERT_EQ(0x000003dau, ImmutableString("step(00C20C").mangledNameHash());
-    ASSERT_EQ(0x000004b1u, ImmutableString("step(00C30C").mangledNameHash());
-    ASSERT_EQ(0x00000858u, ImmutableString("smoothstep(00C00C00C").mangledNameHash());
+    ASSERT_EQ(0x000003dcu, ImmutableString("step(00C20C").mangledNameHash());
+    ASSERT_EQ(0x000004b4u, ImmutableString("step(00C30C").mangledNameHash());
+    ASSERT_EQ(0x00000859u, ImmutableString("smoothstep(00C00C00C").mangledNameHash());
     ASSERT_EQ(0x0000028cu, ImmutableString("smoothstep(10C10C10C").mangledNameHash());
-    ASSERT_EQ(0x000005b8u, ImmutableString("smoothstep(20C20C20C").mangledNameHash());
-    ASSERT_EQ(0x0000057au, ImmutableString("smoothstep(30C30C30C").mangledNameHash());
-    ASSERT_EQ(0x0000079du, ImmutableString("smoothstep(00C00C10C").mangledNameHash());
+    ASSERT_EQ(0x000005bau, ImmutableString("smoothstep(20C20C20C").mangledNameHash());
+    ASSERT_EQ(0x0000057du, ImmutableString("smoothstep(30C30C30C").mangledNameHash());
+    ASSERT_EQ(0x0000079eu, ImmutableString("smoothstep(00C00C10C").mangledNameHash());
     ASSERT_EQ(0x00000097u, ImmutableString("smoothstep(00C00C20C").mangledNameHash());
     ASSERT_EQ(0x0000088bu, ImmutableString("smoothstep(00C00C30C").mangledNameHash());
-    ASSERT_EQ(0x0000065bu, ImmutableString("modf(00C00C").mangledNameHash());
-    ASSERT_EQ(0x00000455u, ImmutableString("modf(10C10C").mangledNameHash());
-    ASSERT_EQ(0x0000048bu, ImmutableString("modf(20C20C").mangledNameHash());
+    ASSERT_EQ(0x0000065du, ImmutableString("modf(00C00C").mangledNameHash());
+    ASSERT_EQ(0x00000458u, ImmutableString("modf(10C10C").mangledNameHash());
+    ASSERT_EQ(0x0000048eu, ImmutableString("modf(20C20C").mangledNameHash());
     ASSERT_EQ(0x00000335u, ImmutableString("modf(30C30C").mangledNameHash());
-    ASSERT_EQ(0x000003a0u, ImmutableString("isnan(00C").mangledNameHash());
-    ASSERT_EQ(0x00000470u, ImmutableString("isnan(10C").mangledNameHash());
-    ASSERT_EQ(0x000007b6u, ImmutableString("isnan(20C").mangledNameHash());
+    ASSERT_EQ(0x000003a1u, ImmutableString("isnan(00C").mangledNameHash());
+    ASSERT_EQ(0x00000473u, ImmutableString("isnan(10C").mangledNameHash());
+    ASSERT_EQ(0x000007b7u, ImmutableString("isnan(20C").mangledNameHash());
     ASSERT_EQ(0x00000876u, ImmutableString("isnan(30C").mangledNameHash());
     ASSERT_EQ(0x0000010eu, ImmutableString("isinf(00C").mangledNameHash());
     ASSERT_EQ(0x000001cfu, ImmutableString("isinf(10C").mangledNameHash());
     ASSERT_EQ(0x000008f3u, ImmutableString("isinf(20C").mangledNameHash());
     ASSERT_EQ(0x00000086u, ImmutableString("isinf(30C").mangledNameHash());
     ASSERT_EQ(0x000008ffu, ImmutableString("fma(00B00B00B").mangledNameHash());
-    ASSERT_EQ(0x000005dcu, ImmutableString("fma(10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000005deu, ImmutableString("fma(10B10B10B").mangledNameHash());
     ASSERT_EQ(0x000001adu, ImmutableString("fma(20B20B20B").mangledNameHash());
     ASSERT_EQ(0x000002a9u, ImmutableString("fma(30B30B30B").mangledNameHash());
     ASSERT_EQ(0x000002a4u, ImmutableString("fma(00C00C00C").mangledNameHash());
@@ -2009,189 +2009,189 @@
     ASSERT_EQ(0x0000023du, ImmutableString("fma(20C20C20C").mangledNameHash());
     ASSERT_EQ(0x0000007bu, ImmutableString("fma(30C30C30C").mangledNameHash());
     ASSERT_EQ(0x00000160u, ImmutableString("frexp(00C00D").mangledNameHash());
-    ASSERT_EQ(0x000003ceu, ImmutableString("frexp(10C10D").mangledNameHash());
+    ASSERT_EQ(0x000003d0u, ImmutableString("frexp(10C10D").mangledNameHash());
     ASSERT_EQ(0x00000133u, ImmutableString("frexp(20C20D").mangledNameHash());
     ASSERT_EQ(0x000008adu, ImmutableString("frexp(30C30D").mangledNameHash());
-    ASSERT_EQ(0x000006f2u, ImmutableString("ldexp(00C00D").mangledNameHash());
-    ASSERT_EQ(0x0000049du, ImmutableString("ldexp(10C10D").mangledNameHash());
+    ASSERT_EQ(0x000006f3u, ImmutableString("ldexp(00C00D").mangledNameHash());
+    ASSERT_EQ(0x000004a0u, ImmutableString("ldexp(10C10D").mangledNameHash());
     ASSERT_EQ(0x00000269u, ImmutableString("ldexp(20C20D").mangledNameHash());
     ASSERT_EQ(0x00000286u, ImmutableString("ldexp(30C30D").mangledNameHash());
-    ASSERT_EQ(0x00000560u, ImmutableString("packDouble2x32(10E").mangledNameHash());
+    ASSERT_EQ(0x00000563u, ImmutableString("packDouble2x32(10E").mangledNameHash());
     ASSERT_EQ(0x000002a0u, ImmutableString("unpackDouble2x32(00C").mangledNameHash());
-    ASSERT_EQ(0x00000834u, ImmutableString("length(00C").mangledNameHash());
-    ASSERT_EQ(0x00000783u, ImmutableString("length(10C").mangledNameHash());
+    ASSERT_EQ(0x00000835u, ImmutableString("length(00C").mangledNameHash());
+    ASSERT_EQ(0x00000784u, ImmutableString("length(10C").mangledNameHash());
     ASSERT_EQ(0x00000274u, ImmutableString("length(20C").mangledNameHash());
-    ASSERT_EQ(0x00000614u, ImmutableString("length(30C").mangledNameHash());
-    ASSERT_EQ(0x000004a6u, ImmutableString("distance(00C00C").mangledNameHash());
-    ASSERT_EQ(0x0000036au, ImmutableString("distance(10C10C").mangledNameHash());
+    ASSERT_EQ(0x00000616u, ImmutableString("length(30C").mangledNameHash());
+    ASSERT_EQ(0x000004a9u, ImmutableString("distance(00C00C").mangledNameHash());
+    ASSERT_EQ(0x0000036bu, ImmutableString("distance(10C10C").mangledNameHash());
     ASSERT_EQ(0x0000085cu, ImmutableString("distance(20C20C").mangledNameHash());
-    ASSERT_EQ(0x000005eau, ImmutableString("distance(30C30C").mangledNameHash());
-    ASSERT_EQ(0x000003dbu, ImmutableString("dot(00C00C").mangledNameHash());
-    ASSERT_EQ(0x000007e4u, ImmutableString("dot(10C10C").mangledNameHash());
-    ASSERT_EQ(0x000006d4u, ImmutableString("dot(20C20C").mangledNameHash());
-    ASSERT_EQ(0x0000068du, ImmutableString("dot(30C30C").mangledNameHash());
-    ASSERT_EQ(0x00000391u, ImmutableString("cross(20C20C").mangledNameHash());
-    ASSERT_EQ(0x000004fbu, ImmutableString("normalize(00C").mangledNameHash());
-    ASSERT_EQ(0x000007adu, ImmutableString("normalize(10C").mangledNameHash());
+    ASSERT_EQ(0x000005ecu, ImmutableString("distance(30C30C").mangledNameHash());
+    ASSERT_EQ(0x000003ddu, ImmutableString("dot(00C00C").mangledNameHash());
+    ASSERT_EQ(0x000007e5u, ImmutableString("dot(10C10C").mangledNameHash());
+    ASSERT_EQ(0x000006d6u, ImmutableString("dot(20C20C").mangledNameHash());
+    ASSERT_EQ(0x0000068fu, ImmutableString("dot(30C30C").mangledNameHash());
+    ASSERT_EQ(0x00000392u, ImmutableString("cross(20C20C").mangledNameHash());
+    ASSERT_EQ(0x000004feu, ImmutableString("normalize(00C").mangledNameHash());
+    ASSERT_EQ(0x000007aeu, ImmutableString("normalize(10C").mangledNameHash());
     ASSERT_EQ(0x0000012fu, ImmutableString("normalize(20C").mangledNameHash());
-    ASSERT_EQ(0x00000444u, ImmutableString("normalize(30C").mangledNameHash());
-    ASSERT_EQ(0x00000355u, ImmutableString("faceforward(00C00C00C").mangledNameHash());
-    ASSERT_EQ(0x00000717u, ImmutableString("faceforward(10C10C10C").mangledNameHash());
-    ASSERT_EQ(0x00000804u, ImmutableString("faceforward(20C20C20C").mangledNameHash());
-    ASSERT_EQ(0x000005a3u, ImmutableString("faceforward(30C30C30C").mangledNameHash());
+    ASSERT_EQ(0x00000447u, ImmutableString("normalize(30C").mangledNameHash());
+    ASSERT_EQ(0x00000356u, ImmutableString("faceforward(00C00C00C").mangledNameHash());
+    ASSERT_EQ(0x00000718u, ImmutableString("faceforward(10C10C10C").mangledNameHash());
+    ASSERT_EQ(0x00000805u, ImmutableString("faceforward(20C20C20C").mangledNameHash());
+    ASSERT_EQ(0x000005a5u, ImmutableString("faceforward(30C30C30C").mangledNameHash());
     ASSERT_EQ(0x00000181u, ImmutableString("reflect(00C00C").mangledNameHash());
-    ASSERT_EQ(0x000005beu, ImmutableString("reflect(10C10C").mangledNameHash());
-    ASSERT_EQ(0x0000072fu, ImmutableString("reflect(20C20C").mangledNameHash());
-    ASSERT_EQ(0x0000055bu, ImmutableString("reflect(30C30C").mangledNameHash());
-    ASSERT_EQ(0x000007ceu, ImmutableString("refract(00C00C00B").mangledNameHash());
-    ASSERT_EQ(0x000003a5u, ImmutableString("refract(10C10C00B").mangledNameHash());
-    ASSERT_EQ(0x000006e4u, ImmutableString("refract(20C20C00B").mangledNameHash());
-    ASSERT_EQ(0x000003b2u, ImmutableString("refract(30C30C00B").mangledNameHash());
-    ASSERT_EQ(0x00000706u, ImmutableString("texture(00l30B00B").mangledNameHash());
-    ASSERT_EQ(0x000007cbu, ImmutableString("textureLod(00k30B00B").mangledNameHash());
+    ASSERT_EQ(0x000005c0u, ImmutableString("reflect(10C10C").mangledNameHash());
+    ASSERT_EQ(0x00000730u, ImmutableString("reflect(20C20C").mangledNameHash());
+    ASSERT_EQ(0x0000055eu, ImmutableString("reflect(30C30C").mangledNameHash());
+    ASSERT_EQ(0x000007cfu, ImmutableString("refract(00C00C00B").mangledNameHash());
+    ASSERT_EQ(0x000003a7u, ImmutableString("refract(10C10C00B").mangledNameHash());
+    ASSERT_EQ(0x000006e6u, ImmutableString("refract(20C20C00B").mangledNameHash());
+    ASSERT_EQ(0x000003b4u, ImmutableString("refract(30C30C00B").mangledNameHash());
+    ASSERT_EQ(0x00000707u, ImmutableString("texture(00l30B00B").mangledNameHash());
+    ASSERT_EQ(0x000007ccu, ImmutableString("textureLod(00k30B00B").mangledNameHash());
     ASSERT_EQ(0x00000348u, ImmutableString("textureLod(00s30B00B").mangledNameHash());
-    ASSERT_EQ(0x0000083fu, ImmutableString("textureLod(00x30B00B").mangledNameHash());
-    ASSERT_EQ(0x00000583u, ImmutableString("textureSize(00k00D").mangledNameHash());
-    ASSERT_EQ(0x000006f3u, ImmutableString("textureSize(00s00D").mangledNameHash());
+    ASSERT_EQ(0x00000840u, ImmutableString("textureLod(00x30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000586u, ImmutableString("textureSize(00k00D").mangledNameHash());
+    ASSERT_EQ(0x000006f4u, ImmutableString("textureSize(00s00D").mangledNameHash());
     ASSERT_EQ(0x000001aau, ImmutableString("textureSize(00x00D").mangledNameHash());
     ASSERT_EQ(0x0000088cu, ImmutableString("textureSize(00l00D").mangledNameHash());
-    ASSERT_EQ(0x000005f3u, ImmutableString("textureGrad(00k30B20B20B").mangledNameHash());
+    ASSERT_EQ(0x000005f5u, ImmutableString("textureGrad(00k30B20B20B").mangledNameHash());
     ASSERT_EQ(0x00000868u, ImmutableString("textureGrad(00s30B20B20B").mangledNameHash());
-    ASSERT_EQ(0x00000799u, ImmutableString("textureGrad(00x30B20B20B").mangledNameHash());
-    ASSERT_EQ(0x000006a0u, ImmutableString("textureGather(00k30B").mangledNameHash());
-    ASSERT_EQ(0x0000069bu, ImmutableString("textureGather(00s30B").mangledNameHash());
-    ASSERT_EQ(0x00000420u, ImmutableString("textureGather(00x30B").mangledNameHash());
-    ASSERT_EQ(0x000007a6u, ImmutableString("textureGather(00k30B00D").mangledNameHash());
+    ASSERT_EQ(0x0000079au, ImmutableString("textureGrad(00x30B20B20B").mangledNameHash());
+    ASSERT_EQ(0x000006a2u, ImmutableString("textureGather(00k30B").mangledNameHash());
+    ASSERT_EQ(0x0000069du, ImmutableString("textureGather(00s30B").mangledNameHash());
+    ASSERT_EQ(0x00000422u, ImmutableString("textureGather(00x30B").mangledNameHash());
+    ASSERT_EQ(0x000007a7u, ImmutableString("textureGather(00k30B00D").mangledNameHash());
     ASSERT_EQ(0x0000029bu, ImmutableString("textureGather(00s30B00D").mangledNameHash());
     ASSERT_EQ(0x00000157u, ImmutableString("textureGather(00x30B00D").mangledNameHash());
     ASSERT_EQ(0x0000005au, ImmutableString("textureGather(00O20B").mangledNameHash());
     ASSERT_EQ(0x000002dbu, ImmutableString("textureGather(00q20B").mangledNameHash());
-    ASSERT_EQ(0x000004cdu, ImmutableString("textureGather(00v20B").mangledNameHash());
-    ASSERT_EQ(0x000007d5u, ImmutableString("textureGather(00O20B00D").mangledNameHash());
-    ASSERT_EQ(0x000006c3u, ImmutableString("textureGather(00q20B00D").mangledNameHash());
-    ASSERT_EQ(0x000005c5u, ImmutableString("textureGather(00v20B00D").mangledNameHash());
-    ASSERT_EQ(0x000007b2u, ImmutableString("textureGather(00l30B00B").mangledNameHash());
-    ASSERT_EQ(0x00000807u, ImmutableString("textureGather(00n10B00B").mangledNameHash());
+    ASSERT_EQ(0x000004d0u, ImmutableString("textureGather(00v20B").mangledNameHash());
+    ASSERT_EQ(0x000007d6u, ImmutableString("textureGather(00O20B00D").mangledNameHash());
+    ASSERT_EQ(0x000006c5u, ImmutableString("textureGather(00q20B00D").mangledNameHash());
+    ASSERT_EQ(0x000005c7u, ImmutableString("textureGather(00v20B00D").mangledNameHash());
+    ASSERT_EQ(0x000007b3u, ImmutableString("textureGather(00l30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000808u, ImmutableString("textureGather(00n10B00B").mangledNameHash());
     ASSERT_EQ(0x0000025du, ImmutableString("textureGatherOffset(00O10B10D").mangledNameHash());
-    ASSERT_EQ(0x000006efu, ImmutableString("textureGatherOffset(00q10B10D").mangledNameHash());
-    ASSERT_EQ(0x0000055eu, ImmutableString("textureGatherOffset(00v10B10D").mangledNameHash());
-    ASSERT_EQ(0x000004d0u, ImmutableString("textureGatherOffset(00O10B10D00D").mangledNameHash());
-    ASSERT_EQ(0x00000569u, ImmutableString("textureGatherOffset(00q10B10D00D").mangledNameHash());
+    ASSERT_EQ(0x000006f0u, ImmutableString("textureGatherOffset(00q10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000561u, ImmutableString("textureGatherOffset(00v10B10D").mangledNameHash());
+    ASSERT_EQ(0x000004d3u, ImmutableString("textureGatherOffset(00O10B10D00D").mangledNameHash());
+    ASSERT_EQ(0x0000056cu, ImmutableString("textureGatherOffset(00q10B10D00D").mangledNameHash());
     ASSERT_EQ(0x00000902u, ImmutableString("textureGatherOffset(00v10B10D00D").mangledNameHash());
     ASSERT_EQ(0x000000dau, ImmutableString("textureGatherOffset(00n10B00B10D").mangledNameHash());
     ASSERT_EQ(0x000002b3u, ImmutableString("textureGatherOffsets(00I10B70D").mangledNameHash());
-    ASSERT_EQ(0x00000571u, ImmutableString("textureGatherOffsets(00R10B70D").mangledNameHash());
+    ASSERT_EQ(0x00000574u, ImmutableString("textureGatherOffsets(00R10B70D").mangledNameHash());
     ASSERT_EQ(0x00000223u, ImmutableString("textureGatherOffsets(00X10B70D").mangledNameHash());
-    ASSERT_EQ(0x00000599u, ImmutableString("textureGatherOffsets(00I10B70D00D").mangledNameHash());
+    ASSERT_EQ(0x0000059bu, ImmutableString("textureGatherOffsets(00I10B70D00D").mangledNameHash());
     ASSERT_EQ(0x000001fbu, ImmutableString("textureGatherOffsets(00R10B70D00D").mangledNameHash());
     ASSERT_EQ(0x00000288u, ImmutableString("textureGatherOffsets(00X10B70D00D").mangledNameHash());
-    ASSERT_EQ(0x000005ecu, ImmutableString("textureGatherOffsets(00L20B70D").mangledNameHash());
-    ASSERT_EQ(0x000005c1u, ImmutableString("textureGatherOffsets(00U20B70D").mangledNameHash());
+    ASSERT_EQ(0x000005eeu, ImmutableString("textureGatherOffsets(00L20B70D").mangledNameHash());
+    ASSERT_EQ(0x000005c3u, ImmutableString("textureGatherOffsets(00U20B70D").mangledNameHash());
     ASSERT_EQ(0x000001d1u, ImmutableString("textureGatherOffsets(00a20B70D").mangledNameHash());
-    ASSERT_EQ(0x000006d7u, ImmutableString("textureGatherOffsets(00L20B70D00D").mangledNameHash());
-    ASSERT_EQ(0x00000691u, ImmutableString("textureGatherOffsets(00U20B70D00D").mangledNameHash());
+    ASSERT_EQ(0x000006d9u, ImmutableString("textureGatherOffsets(00L20B70D00D").mangledNameHash());
+    ASSERT_EQ(0x00000693u, ImmutableString("textureGatherOffsets(00U20B70D00D").mangledNameHash());
     ASSERT_EQ(0x00000155u, ImmutableString("textureGatherOffsets(00a20B70D00D").mangledNameHash());
     ASSERT_EQ(0x000008c3u, ImmutableString("textureGatherOffsets(00O10B70D").mangledNameHash());
-    ASSERT_EQ(0x00000712u, ImmutableString("textureGatherOffsets(00q10B70D").mangledNameHash());
-    ASSERT_EQ(0x00000792u, ImmutableString("textureGatherOffsets(00v10B70D").mangledNameHash());
+    ASSERT_EQ(0x00000713u, ImmutableString("textureGatherOffsets(00q10B70D").mangledNameHash());
+    ASSERT_EQ(0x00000793u, ImmutableString("textureGatherOffsets(00v10B70D").mangledNameHash());
     ASSERT_EQ(0x00000113u, ImmutableString("textureGatherOffsets(00O10B70D00D").mangledNameHash());
-    ASSERT_EQ(0x00000607u, ImmutableString("textureGatherOffsets(00q10B70D00D").mangledNameHash());
-    ASSERT_EQ(0x00000728u, ImmutableString("textureGatherOffsets(00v10B70D00D").mangledNameHash());
-    ASSERT_EQ(0x00000371u, ImmutableString("textureGatherOffsets(00d10B00B70D").mangledNameHash());
+    ASSERT_EQ(0x00000609u, ImmutableString("textureGatherOffsets(00q10B70D00D").mangledNameHash());
+    ASSERT_EQ(0x00000729u, ImmutableString("textureGatherOffsets(00v10B70D00D").mangledNameHash());
+    ASSERT_EQ(0x00000372u, ImmutableString("textureGatherOffsets(00d10B00B70D").mangledNameHash());
     ASSERT_EQ(0x00000058u, ImmutableString("textureGatherOffsets(00f20B00B70D").mangledNameHash());
-    ASSERT_EQ(0x00000516u, ImmutableString("textureGatherOffsets(00n10B00B70D").mangledNameHash());
-    ASSERT_EQ(0x0000040eu, ImmutableString("textureQueryLod(00g00B").mangledNameHash());
-    ASSERT_EQ(0x000004f7u, ImmutableString("textureQueryLod(00o00B").mangledNameHash());
+    ASSERT_EQ(0x00000519u, ImmutableString("textureGatherOffsets(00n10B00B70D").mangledNameHash());
+    ASSERT_EQ(0x00000410u, ImmutableString("textureQueryLod(00g00B").mangledNameHash());
+    ASSERT_EQ(0x000004fau, ImmutableString("textureQueryLod(00o00B").mangledNameHash());
     ASSERT_EQ(0x00000906u, ImmutableString("textureQueryLod(00t00B").mangledNameHash());
-    ASSERT_EQ(0x00000452u, ImmutableString("textureQueryLod(00I10B").mangledNameHash());
-    ASSERT_EQ(0x00000399u, ImmutableString("textureQueryLod(00R10B").mangledNameHash());
+    ASSERT_EQ(0x00000455u, ImmutableString("textureQueryLod(00I10B").mangledNameHash());
+    ASSERT_EQ(0x0000039au, ImmutableString("textureQueryLod(00R10B").mangledNameHash());
     ASSERT_EQ(0x00000154u, ImmutableString("textureQueryLod(00X10B").mangledNameHash());
-    ASSERT_EQ(0x00000669u, ImmutableString("textureQueryLod(00J20B").mangledNameHash());
-    ASSERT_EQ(0x0000082du, ImmutableString("textureQueryLod(00S20B").mangledNameHash());
-    ASSERT_EQ(0x00000752u, ImmutableString("textureQueryLod(00Y20B").mangledNameHash());
-    ASSERT_EQ(0x000004d1u, ImmutableString("textureQueryLod(00K20B").mangledNameHash());
+    ASSERT_EQ(0x0000066bu, ImmutableString("textureQueryLod(00J20B").mangledNameHash());
+    ASSERT_EQ(0x0000082eu, ImmutableString("textureQueryLod(00S20B").mangledNameHash());
+    ASSERT_EQ(0x00000753u, ImmutableString("textureQueryLod(00Y20B").mangledNameHash());
+    ASSERT_EQ(0x000004d4u, ImmutableString("textureQueryLod(00K20B").mangledNameHash());
     ASSERT_EQ(0x0000016cu, ImmutableString("textureQueryLod(00T20B").mangledNameHash());
-    ASSERT_EQ(0x000007e3u, ImmutableString("textureQueryLod(00Z20B").mangledNameHash());
-    ASSERT_EQ(0x00000659u, ImmutableString("textureQueryLod(00h00B").mangledNameHash());
+    ASSERT_EQ(0x000007e4u, ImmutableString("textureQueryLod(00Z20B").mangledNameHash());
+    ASSERT_EQ(0x0000065bu, ImmutableString("textureQueryLod(00h00B").mangledNameHash());
     ASSERT_EQ(0x000000a4u, ImmutableString("textureQueryLod(00p00B").mangledNameHash());
-    ASSERT_EQ(0x00000718u, ImmutableString("textureQueryLod(00u00B").mangledNameHash());
-    ASSERT_EQ(0x0000076du, ImmutableString("textureQueryLod(00L10B").mangledNameHash());
-    ASSERT_EQ(0x00000721u, ImmutableString("textureQueryLod(00U10B").mangledNameHash());
+    ASSERT_EQ(0x00000719u, ImmutableString("textureQueryLod(00u00B").mangledNameHash());
+    ASSERT_EQ(0x0000076eu, ImmutableString("textureQueryLod(00L10B").mangledNameHash());
+    ASSERT_EQ(0x00000722u, ImmutableString("textureQueryLod(00U10B").mangledNameHash());
     ASSERT_EQ(0x000000dcu, ImmutableString("textureQueryLod(00a10B").mangledNameHash());
     ASSERT_EQ(0x000001e5u, ImmutableString("textureQueryLod(00k20B").mangledNameHash());
-    ASSERT_EQ(0x000005d2u, ImmutableString("textureQueryLod(00s20B").mangledNameHash());
-    ASSERT_EQ(0x000005dbu, ImmutableString("textureQueryLod(00x20B").mangledNameHash());
+    ASSERT_EQ(0x000005d4u, ImmutableString("textureQueryLod(00s20B").mangledNameHash());
+    ASSERT_EQ(0x000005ddu, ImmutableString("textureQueryLod(00x20B").mangledNameHash());
     ASSERT_EQ(0x0000000cu, ImmutableString("textureQueryLod(00m00B").mangledNameHash());
-    ASSERT_EQ(0x00000677u, ImmutableString("textureQueryLod(00d10B").mangledNameHash());
+    ASSERT_EQ(0x00000679u, ImmutableString("textureQueryLod(00d10B").mangledNameHash());
     ASSERT_EQ(0x000002f6u, ImmutableString("textureQueryLod(00e20B").mangledNameHash());
     ASSERT_EQ(0x000000f9u, ImmutableString("textureQueryLod(00i00B").mangledNameHash());
     ASSERT_EQ(0x0000028bu, ImmutableString("textureQueryLod(00f10B").mangledNameHash());
-    ASSERT_EQ(0x0000043cu, ImmutableString("textureQueryLod(00l20B").mangledNameHash());
-    ASSERT_EQ(0x000004e4u, ImmutableString("interpolateAtCentroid(00B").mangledNameHash());
-    ASSERT_EQ(0x0000042cu, ImmutableString("interpolateAtCentroid(10B").mangledNameHash());
-    ASSERT_EQ(0x00000653u, ImmutableString("interpolateAtCentroid(20B").mangledNameHash());
-    ASSERT_EQ(0x0000059au, ImmutableString("interpolateAtCentroid(30B").mangledNameHash());
-    ASSERT_EQ(0x0000079eu, ImmutableString("interpolateAtSample(00B00D").mangledNameHash());
+    ASSERT_EQ(0x0000043eu, ImmutableString("textureQueryLod(00l20B").mangledNameHash());
+    ASSERT_EQ(0x000004e7u, ImmutableString("interpolateAtCentroid(00B").mangledNameHash());
+    ASSERT_EQ(0x0000042eu, ImmutableString("interpolateAtCentroid(10B").mangledNameHash());
+    ASSERT_EQ(0x00000655u, ImmutableString("interpolateAtCentroid(20B").mangledNameHash());
+    ASSERT_EQ(0x0000059cu, ImmutableString("interpolateAtCentroid(30B").mangledNameHash());
+    ASSERT_EQ(0x0000079fu, ImmutableString("interpolateAtSample(00B00D").mangledNameHash());
     ASSERT_EQ(0x00000159u, ImmutableString("interpolateAtSample(10B00D").mangledNameHash());
     ASSERT_EQ(0x000002e8u, ImmutableString("interpolateAtSample(20B00D").mangledNameHash());
     ASSERT_EQ(0x000002b7u, ImmutableString("interpolateAtSample(30B00D").mangledNameHash());
     ASSERT_EQ(0x000000a1u, ImmutableString("interpolateAtOffset(00B10B").mangledNameHash());
-    ASSERT_EQ(0x0000066du, ImmutableString("interpolateAtOffset(10B10B").mangledNameHash());
-    ASSERT_EQ(0x00000595u, ImmutableString("interpolateAtOffset(20B10B").mangledNameHash());
+    ASSERT_EQ(0x0000066fu, ImmutableString("interpolateAtOffset(10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000597u, ImmutableString("interpolateAtOffset(20B10B").mangledNameHash());
     ASSERT_EQ(0x00000002u, ImmutableString("interpolateAtOffset(30B10B").mangledNameHash());
-    ASSERT_EQ(0x000003f2u, ImmutableString("EmitStreamVertex(00D").mangledNameHash());
+    ASSERT_EQ(0x000003f4u, ImmutableString("EmitStreamVertex(00D").mangledNameHash());
     ASSERT_EQ(0x000002bcu, ImmutableString("EndStreamPrimitive(00D").mangledNameHash());
-    ASSERT_EQ(0x0000042du, ImmutableString("texture(00q10B").mangledNameHash());
-    ASSERT_EQ(0x000005d4u, ImmutableString("texture(00v10B").mangledNameHash());
+    ASSERT_EQ(0x0000042fu, ImmutableString("texture(00q10B").mangledNameHash());
+    ASSERT_EQ(0x000005d6u, ImmutableString("texture(00v10B").mangledNameHash());
     ASSERT_EQ(0x00000268u, ImmutableString("texture(00n20B").mangledNameHash());
-    ASSERT_EQ(0x0000057eu, ImmutableString("textureProj(00q20B").mangledNameHash());
-    ASSERT_EQ(0x0000073eu, ImmutableString("textureProj(00v20B").mangledNameHash());
+    ASSERT_EQ(0x00000581u, ImmutableString("textureProj(00q20B").mangledNameHash());
+    ASSERT_EQ(0x0000073fu, ImmutableString("textureProj(00v20B").mangledNameHash());
     ASSERT_EQ(0x000001b1u, ImmutableString("textureProj(00q30B").mangledNameHash());
-    ASSERT_EQ(0x00000689u, ImmutableString("textureProj(00v30B").mangledNameHash());
+    ASSERT_EQ(0x0000068bu, ImmutableString("textureProj(00v30B").mangledNameHash());
     ASSERT_EQ(0x000000f8u, ImmutableString("textureProj(00n30B").mangledNameHash());
-    ASSERT_EQ(0x0000084du, ImmutableString("textureSize(00O").mangledNameHash());
-    ASSERT_EQ(0x00000847u, ImmutableString("textureSize(00q").mangledNameHash());
-    ASSERT_EQ(0x0000084au, ImmutableString("textureSize(00v").mangledNameHash());
-    ASSERT_EQ(0x00000841u, ImmutableString("textureSize(00n").mangledNameHash());
-    ASSERT_EQ(0x00000840u, ImmutableString("textureSize(00j").mangledNameHash());
-    ASSERT_EQ(0x00000848u, ImmutableString("textureSize(00r").mangledNameHash());
-    ASSERT_EQ(0x00000849u, ImmutableString("textureSize(00w").mangledNameHash());
+    ASSERT_EQ(0x0000084eu, ImmutableString("textureSize(00O").mangledNameHash());
+    ASSERT_EQ(0x00000848u, ImmutableString("textureSize(00q").mangledNameHash());
+    ASSERT_EQ(0x0000084bu, ImmutableString("textureSize(00v").mangledNameHash());
+    ASSERT_EQ(0x00000842u, ImmutableString("textureSize(00n").mangledNameHash());
+    ASSERT_EQ(0x00000841u, ImmutableString("textureSize(00j").mangledNameHash());
+    ASSERT_EQ(0x00000849u, ImmutableString("textureSize(00r").mangledNameHash());
+    ASSERT_EQ(0x0000084au, ImmutableString("textureSize(00w").mangledNameHash());
     ASSERT_EQ(0x00000863u, ImmutableString("texelFetch(00O10D").mangledNameHash());
-    ASSERT_EQ(0x00000378u, ImmutableString("texelFetch(00q10D").mangledNameHash());
+    ASSERT_EQ(0x00000379u, ImmutableString("texelFetch(00q10D").mangledNameHash());
     ASSERT_EQ(0x00000218u, ImmutableString("texelFetch(00v10D").mangledNameHash());
     ASSERT_EQ(0x00000081u, ImmutableString("texelFetch(00j00D").mangledNameHash());
-    ASSERT_EQ(0x000003ffu, ImmutableString("texelFetch(00r00D").mangledNameHash());
+    ASSERT_EQ(0x00000401u, ImmutableString("texelFetch(00r00D").mangledNameHash());
     ASSERT_EQ(0x00000179u, ImmutableString("texelFetch(00w00D").mangledNameHash());
-    ASSERT_EQ(0x0000050bu, ImmutableString("textureGrad(00O10B10B10B").mangledNameHash());
-    ASSERT_EQ(0x00000635u, ImmutableString("textureGrad(00q10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000050eu, ImmutableString("textureGrad(00O10B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000637u, ImmutableString("textureGrad(00q10B10B10B").mangledNameHash());
     ASSERT_EQ(0x0000007cu, ImmutableString("textureGrad(00v10B10B10B").mangledNameHash());
     ASSERT_EQ(0x0000032bu, ImmutableString("textureGrad(00n20B10B10B").mangledNameHash());
-    ASSERT_EQ(0x0000068au, ImmutableString("textureProjGrad(00O20B10B10B").mangledNameHash());
-    ASSERT_EQ(0x000003b9u, ImmutableString("textureProjGrad(00q20B10B10B").mangledNameHash());
-    ASSERT_EQ(0x0000043fu, ImmutableString("textureProjGrad(00v20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x0000068cu, ImmutableString("textureProjGrad(00O20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000003bbu, ImmutableString("textureProjGrad(00q20B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000441u, ImmutableString("textureProjGrad(00v20B10B10B").mangledNameHash());
     ASSERT_EQ(0x000008bcu, ImmutableString("textureProjGrad(00O30B10B10B").mangledNameHash());
     ASSERT_EQ(0x0000025cu, ImmutableString("textureProjGrad(00q30B10B10B").mangledNameHash());
-    ASSERT_EQ(0x0000037cu, ImmutableString("textureProjGrad(00v30B10B10B").mangledNameHash());
-    ASSERT_EQ(0x000007e6u, ImmutableString("textureProjGrad(00n30B10B10B").mangledNameHash());
-    ASSERT_EQ(0x00000446u, ImmutableString("textureOffset(00O10B10D").mangledNameHash());
-    ASSERT_EQ(0x000007bfu, ImmutableString("textureOffset(00q10B10D").mangledNameHash());
+    ASSERT_EQ(0x0000037du, ImmutableString("textureProjGrad(00v30B10B10B").mangledNameHash());
+    ASSERT_EQ(0x000007e7u, ImmutableString("textureProjGrad(00n30B10B10B").mangledNameHash());
+    ASSERT_EQ(0x00000449u, ImmutableString("textureOffset(00O10B10D").mangledNameHash());
+    ASSERT_EQ(0x000007c0u, ImmutableString("textureOffset(00q10B10D").mangledNameHash());
     ASSERT_EQ(0x000002f0u, ImmutableString("textureOffset(00v10B10D").mangledNameHash());
-    ASSERT_EQ(0x000004ddu, ImmutableString("textureOffset(00n20B10D").mangledNameHash());
-    ASSERT_EQ(0x00000781u, ImmutableString("textureProjOffset(00O20B10D").mangledNameHash());
-    ASSERT_EQ(0x0000038au, ImmutableString("textureProjOffset(00q20B10D").mangledNameHash());
-    ASSERT_EQ(0x00000487u, ImmutableString("textureProjOffset(00v20B10D").mangledNameHash());
+    ASSERT_EQ(0x000001f9u, ImmutableString("textureOffset(00n20B10D").mangledNameHash());
+    ASSERT_EQ(0x00000782u, ImmutableString("textureProjOffset(00O20B10D").mangledNameHash());
+    ASSERT_EQ(0x0000038bu, ImmutableString("textureProjOffset(00q20B10D").mangledNameHash());
+    ASSERT_EQ(0x0000048au, ImmutableString("textureProjOffset(00v20B10D").mangledNameHash());
     ASSERT_EQ(0x0000014fu, ImmutableString("textureProjOffset(00O30B10D").mangledNameHash());
     ASSERT_EQ(0x0000008au, ImmutableString("textureProjOffset(00q30B10D").mangledNameHash());
     ASSERT_EQ(0x0000087du, ImmutableString("textureProjOffset(00v30B10D").mangledNameHash());
     ASSERT_EQ(0x0000030du, ImmutableString("textureProjOffset(00n30B10D").mangledNameHash());
-    ASSERT_EQ(0x00000664u, ImmutableString("texelFetchOffset(00O10D10D").mangledNameHash());
+    ASSERT_EQ(0x00000666u, ImmutableString("texelFetchOffset(00O10D10D").mangledNameHash());
     ASSERT_EQ(0x00000025u, ImmutableString("texelFetchOffset(00q10D10D").mangledNameHash());
     ASSERT_EQ(0x00000920u, ImmutableString("texelFetchOffset(00v10D10D").mangledNameHash());
-    ASSERT_EQ(0x00000435u, ImmutableString("textureGradOffset(00O10B10B10B10D").mangledNameHash());
-    ASSERT_EQ(0x000005adu, ImmutableString("textureGradOffset(00q10B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000437u, ImmutableString("textureGradOffset(00O10B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x000005afu, ImmutableString("textureGradOffset(00q10B10B10B10D").mangledNameHash());
     ASSERT_EQ(0x0000032au, ImmutableString("textureGradOffset(00v10B10B10B10D").mangledNameHash());
-    ASSERT_EQ(0x00000554u, ImmutableString("textureGradOffset(00n20B10B10B10D").mangledNameHash());
-    ASSERT_EQ(0x00000393u,
+    ASSERT_EQ(0x00000557u, ImmutableString("textureGradOffset(00n20B10B10B10D").mangledNameHash());
+    ASSERT_EQ(0x00000394u,
               ImmutableString("textureProjGradOffset(00O20B10B10B10D").mangledNameHash());
     ASSERT_EQ(0x000001a2u,
               ImmutableString("textureProjGradOffset(00q20B10B10B10D").mangledNameHash());
@@ -2199,11 +2199,11 @@
               ImmutableString("textureProjGradOffset(00v20B10B10B10D").mangledNameHash());
     ASSERT_EQ(0x00000014u,
               ImmutableString("textureProjGradOffset(00O30B10B10B10D").mangledNameHash());
-    ASSERT_EQ(0x00000460u,
+    ASSERT_EQ(0x00000463u,
               ImmutableString("textureProjGradOffset(00q30B10B10B10D").mangledNameHash());
     ASSERT_EQ(0x00000006u,
               ImmutableString("textureProjGradOffset(00v30B10B10B10D").mangledNameHash());
-    ASSERT_EQ(0x000007f3u,
+    ASSERT_EQ(0x000007f4u,
               ImmutableString("textureProjGradOffset(00n30B10B10B10D").mangledNameHash());
     ASSERT_EQ(0x000008ecu, ImmutableString("texture(00g00B").mangledNameHash());
     ASSERT_EQ(0x00000287u, ImmutableString("texture(00o00B").mangledNameHash());
@@ -2211,26 +2211,26 @@
     ASSERT_EQ(0x000008dbu, ImmutableString("texture(00m20B").mangledNameHash());
     ASSERT_EQ(0x000000cfu, ImmutableString("texture(00h20B").mangledNameHash());
     ASSERT_EQ(0x000000fau, ImmutableString("texture(00p20B").mangledNameHash());
-    ASSERT_EQ(0x000004cbu, ImmutableString("texture(00u20B").mangledNameHash());
+    ASSERT_EQ(0x000004ceu, ImmutableString("texture(00u20B").mangledNameHash());
     ASSERT_EQ(0x00000345u, ImmutableString("texture(00i20B").mangledNameHash());
     ASSERT_EQ(0x00000339u, ImmutableString("textureProj(00g10B").mangledNameHash());
-    ASSERT_EQ(0x000006e1u, ImmutableString("textureProj(00o10B").mangledNameHash());
+    ASSERT_EQ(0x000006e3u, ImmutableString("textureProj(00o10B").mangledNameHash());
     ASSERT_EQ(0x0000006cu, ImmutableString("textureProj(00t10B").mangledNameHash());
     ASSERT_EQ(0x00000899u, ImmutableString("textureProj(00g30B").mangledNameHash());
     ASSERT_EQ(0x00000141u, ImmutableString("textureProj(00o30B").mangledNameHash());
-    ASSERT_EQ(0x00000828u, ImmutableString("textureProj(00t30B").mangledNameHash());
+    ASSERT_EQ(0x00000829u, ImmutableString("textureProj(00t30B").mangledNameHash());
     ASSERT_EQ(0x00000115u, ImmutableString("textureProj(00m30B").mangledNameHash());
-    ASSERT_EQ(0x000005edu, ImmutableString("textureLod(00g00B00B").mangledNameHash());
+    ASSERT_EQ(0x000005efu, ImmutableString("textureLod(00g00B00B").mangledNameHash());
     ASSERT_EQ(0x0000088du, ImmutableString("textureLod(00o00B00B").mangledNameHash());
     ASSERT_EQ(0x00000013u, ImmutableString("textureLod(00t00B00B").mangledNameHash());
-    ASSERT_EQ(0x0000037au, ImmutableString("textureLod(00m20B00B").mangledNameHash());
-    ASSERT_EQ(0x000007d3u, ImmutableString("textureLod(00h10B00B").mangledNameHash());
+    ASSERT_EQ(0x0000037bu, ImmutableString("textureLod(00m20B00B").mangledNameHash());
+    ASSERT_EQ(0x000007d4u, ImmutableString("textureLod(00h10B00B").mangledNameHash());
     ASSERT_EQ(0x0000022fu, ImmutableString("textureLod(00p10B00B").mangledNameHash());
-    ASSERT_EQ(0x000005e0u, ImmutableString("textureLod(00u10B00B").mangledNameHash());
+    ASSERT_EQ(0x000005e2u, ImmutableString("textureLod(00u10B00B").mangledNameHash());
     ASSERT_EQ(0x0000017fu, ImmutableString("textureLod(00i20B00B").mangledNameHash());
-    ASSERT_EQ(0x00000566u, ImmutableString("textureSize(00g00D").mangledNameHash());
-    ASSERT_EQ(0x000004e6u, ImmutableString("textureSize(00o00D").mangledNameHash());
-    ASSERT_EQ(0x00000795u, ImmutableString("textureSize(00t00D").mangledNameHash());
+    ASSERT_EQ(0x00000569u, ImmutableString("textureSize(00g00D").mangledNameHash());
+    ASSERT_EQ(0x000004e9u, ImmutableString("textureSize(00o00D").mangledNameHash());
+    ASSERT_EQ(0x00000796u, ImmutableString("textureSize(00t00D").mangledNameHash());
     ASSERT_EQ(0x000002f5u, ImmutableString("textureSize(00m00D").mangledNameHash());
     ASSERT_EQ(0x00000023u, ImmutableString("textureSize(00h00D").mangledNameHash());
     ASSERT_EQ(0x00000037u, ImmutableString("textureSize(00p00D").mangledNameHash());
@@ -2238,47 +2238,47 @@
     ASSERT_EQ(0x00000168u, ImmutableString("textureSize(00i00D").mangledNameHash());
     ASSERT_EQ(0x000008e5u, ImmutableString("textureProjLod(00g10B00B").mangledNameHash());
     ASSERT_EQ(0x000001aeu, ImmutableString("textureProjLod(00o10B00B").mangledNameHash());
-    ASSERT_EQ(0x0000057fu, ImmutableString("textureProjLod(00t10B00B").mangledNameHash());
-    ASSERT_EQ(0x00000573u, ImmutableString("textureProjLod(00g30B00B").mangledNameHash());
-    ASSERT_EQ(0x0000079cu, ImmutableString("textureProjLod(00o30B00B").mangledNameHash());
-    ASSERT_EQ(0x0000065cu, ImmutableString("textureProjLod(00t30B00B").mangledNameHash());
-    ASSERT_EQ(0x0000045bu, ImmutableString("textureProjLod(00m30B00B").mangledNameHash());
-    ASSERT_EQ(0x0000066fu, ImmutableString("texelFetch(00g00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000582u, ImmutableString("textureProjLod(00t10B00B").mangledNameHash());
+    ASSERT_EQ(0x00000576u, ImmutableString("textureProjLod(00g30B00B").mangledNameHash());
+    ASSERT_EQ(0x0000079du, ImmutableString("textureProjLod(00o30B00B").mangledNameHash());
+    ASSERT_EQ(0x0000065eu, ImmutableString("textureProjLod(00t30B00B").mangledNameHash());
+    ASSERT_EQ(0x0000045eu, ImmutableString("textureProjLod(00m30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000671u, ImmutableString("texelFetch(00g00D00D").mangledNameHash());
     ASSERT_EQ(0x00000007u, ImmutableString("texelFetch(00o00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000364u, ImmutableString("texelFetch(00t00D00D").mangledNameHash());
-    ASSERT_EQ(0x00000730u, ImmutableString("texelFetch(00h10D00D").mangledNameHash());
+    ASSERT_EQ(0x00000365u, ImmutableString("texelFetch(00t00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000731u, ImmutableString("texelFetch(00h10D00D").mangledNameHash());
     ASSERT_EQ(0x000008b3u, ImmutableString("texelFetch(00p10D00D").mangledNameHash());
-    ASSERT_EQ(0x000006d3u, ImmutableString("texelFetch(00u10D00D").mangledNameHash());
+    ASSERT_EQ(0x000006d5u, ImmutableString("texelFetch(00u10D00D").mangledNameHash());
     ASSERT_EQ(0x00000307u, ImmutableString("textureGrad(00I00B00B00B").mangledNameHash());
-    ASSERT_EQ(0x00000476u, ImmutableString("textureGrad(00R00B00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000479u, ImmutableString("textureGrad(00R00B00B00B").mangledNameHash());
     ASSERT_EQ(0x00000079u, ImmutableString("textureGrad(00X00B00B00B").mangledNameHash());
-    ASSERT_EQ(0x00000770u, ImmutableString("textureGrad(00m20B00B00B").mangledNameHash());
-    ASSERT_EQ(0x00000655u, ImmutableString("textureGrad(00h10B00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000771u, ImmutableString("textureGrad(00m20B00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000657u, ImmutableString("textureGrad(00h10B00B00B").mangledNameHash());
     ASSERT_EQ(0x0000087cu, ImmutableString("textureGrad(00p10B00B00B").mangledNameHash());
-    ASSERT_EQ(0x000004f5u, ImmutableString("textureGrad(00u10B00B00B").mangledNameHash());
+    ASSERT_EQ(0x000004f8u, ImmutableString("textureGrad(00u10B00B00B").mangledNameHash());
     ASSERT_EQ(0x00000337u, ImmutableString("textureGrad(00i20B00B00B").mangledNameHash());
     ASSERT_EQ(0x00000315u, ImmutableString("textureProjGrad(00g10B00B00B").mangledNameHash());
-    ASSERT_EQ(0x000003a3u, ImmutableString("textureProjGrad(00o10B00B00B").mangledNameHash());
-    ASSERT_EQ(0x000006c2u, ImmutableString("textureProjGrad(00t10B00B00B").mangledNameHash());
-    ASSERT_EQ(0x000006d9u, ImmutableString("textureProjGrad(00g30B00B00B").mangledNameHash());
+    ASSERT_EQ(0x000003a4u, ImmutableString("textureProjGrad(00o10B00B00B").mangledNameHash());
+    ASSERT_EQ(0x000006c4u, ImmutableString("textureProjGrad(00t10B00B00B").mangledNameHash());
+    ASSERT_EQ(0x000006dbu, ImmutableString("textureProjGrad(00g30B00B00B").mangledNameHash());
     ASSERT_EQ(0x00000257u, ImmutableString("textureProjGrad(00o30B00B00B").mangledNameHash());
     ASSERT_EQ(0x000000bfu, ImmutableString("textureProjGrad(00t30B00B00B").mangledNameHash());
-    ASSERT_EQ(0x00000504u, ImmutableString("textureProjGrad(00m30B00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000507u, ImmutableString("textureProjGrad(00m30B00B00B").mangledNameHash());
     ASSERT_EQ(0x00000897u, ImmutableString("textureOffset(00g00B00D").mangledNameHash());
-    ASSERT_EQ(0x0000065du, ImmutableString("textureOffset(00o00B00D").mangledNameHash());
-    ASSERT_EQ(0x00000493u, ImmutableString("textureOffset(00t00B00D").mangledNameHash());
+    ASSERT_EQ(0x0000065fu, ImmutableString("textureOffset(00o00B00D").mangledNameHash());
+    ASSERT_EQ(0x00000496u, ImmutableString("textureOffset(00t00B00D").mangledNameHash());
     ASSERT_EQ(0x00000075u, ImmutableString("textureOffset(00m20B00D").mangledNameHash());
     ASSERT_EQ(0x0000022eu, ImmutableString("textureOffset(00h10B00D").mangledNameHash());
     ASSERT_EQ(0x000000ceu, ImmutableString("textureOffset(00p10B00D").mangledNameHash());
     ASSERT_EQ(0x000008c9u, ImmutableString("textureOffset(00u10B00D").mangledNameHash());
-    ASSERT_EQ(0x000003aeu, ImmutableString("textureOffset(00i20B00D").mangledNameHash());
+    ASSERT_EQ(0x000003b0u, ImmutableString("textureOffset(00i20B00D").mangledNameHash());
     ASSERT_EQ(0x00000003u, ImmutableString("textureProjOffset(00g10B00D").mangledNameHash());
-    ASSERT_EQ(0x000005f4u, ImmutableString("textureProjOffset(00o10B00D").mangledNameHash());
-    ASSERT_EQ(0x000007dfu, ImmutableString("textureProjOffset(00t10B00D").mangledNameHash());
+    ASSERT_EQ(0x000005f6u, ImmutableString("textureProjOffset(00o10B00D").mangledNameHash());
+    ASSERT_EQ(0x000007e0u, ImmutableString("textureProjOffset(00t10B00D").mangledNameHash());
     ASSERT_EQ(0x000008d6u, ImmutableString("textureProjOffset(00g30B00D").mangledNameHash());
-    ASSERT_EQ(0x000004a8u, ImmutableString("textureProjOffset(00o30B00D").mangledNameHash());
-    ASSERT_EQ(0x000007c6u, ImmutableString("textureProjOffset(00t30B00D").mangledNameHash());
-    ASSERT_EQ(0x000006b5u, ImmutableString("textureProjOffset(00m30B00D").mangledNameHash());
+    ASSERT_EQ(0x000004abu, ImmutableString("textureProjOffset(00o30B00D").mangledNameHash());
+    ASSERT_EQ(0x000007c7u, ImmutableString("textureProjOffset(00t30B00D").mangledNameHash());
+    ASSERT_EQ(0x000006b7u, ImmutableString("textureProjOffset(00m30B00D").mangledNameHash());
     ASSERT_EQ(0x000001a6u, ImmutableString("textureLodOffset(00g00B00B00D").mangledNameHash());
     ASSERT_EQ(0x0000001fu, ImmutableString("textureLodOffset(00o00B00B00D").mangledNameHash());
     ASSERT_EQ(0x00000323u, ImmutableString("textureLodOffset(00t00B00B00D").mangledNameHash());
@@ -2286,109 +2286,109 @@
     ASSERT_EQ(0x000002bbu, ImmutableString("textureLodOffset(00h10B00B00D").mangledNameHash());
     ASSERT_EQ(0x0000029eu, ImmutableString("textureLodOffset(00p10B00B00D").mangledNameHash());
     ASSERT_EQ(0x000008efu, ImmutableString("textureLodOffset(00u10B00B00D").mangledNameHash());
-    ASSERT_EQ(0x000004a2u, ImmutableString("textureLodOffset(00i20B00B00D").mangledNameHash());
-    ASSERT_EQ(0x000005d9u, ImmutableString("textureProjLodOffset(00g10B00B00D").mangledNameHash());
-    ASSERT_EQ(0x00000812u, ImmutableString("textureProjLodOffset(00o10B00B00D").mangledNameHash());
-    ASSERT_EQ(0x00000780u, ImmutableString("textureProjLodOffset(00t10B00B00D").mangledNameHash());
+    ASSERT_EQ(0x000004a5u, ImmutableString("textureLodOffset(00i20B00B00D").mangledNameHash());
+    ASSERT_EQ(0x000005dbu, ImmutableString("textureProjLodOffset(00g10B00B00D").mangledNameHash());
+    ASSERT_EQ(0x00000813u, ImmutableString("textureProjLodOffset(00o10B00B00D").mangledNameHash());
+    ASSERT_EQ(0x00000781u, ImmutableString("textureProjLodOffset(00t10B00B00D").mangledNameHash());
     ASSERT_EQ(0x00000174u, ImmutableString("textureProjLodOffset(00g30B00B00D").mangledNameHash());
-    ASSERT_EQ(0x00000479u, ImmutableString("textureProjLodOffset(00o30B00B00D").mangledNameHash());
+    ASSERT_EQ(0x0000047cu, ImmutableString("textureProjLodOffset(00o30B00B00D").mangledNameHash());
     ASSERT_EQ(0x0000007au, ImmutableString("textureProjLodOffset(00t30B00B00D").mangledNameHash());
     ASSERT_EQ(0x000008fau, ImmutableString("textureProjLodOffset(00m30B00B00D").mangledNameHash());
     ASSERT_EQ(0x00000880u, ImmutableString("texelFetchOffset(00g00D00D00D").mangledNameHash());
     ASSERT_EQ(0x00000259u, ImmutableString("texelFetchOffset(00o00D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000005ffu, ImmutableString("texelFetchOffset(00t00D00D00D").mangledNameHash());
+    ASSERT_EQ(0x00000601u, ImmutableString("texelFetchOffset(00t00D00D00D").mangledNameHash());
     ASSERT_EQ(0x000001e0u, ImmutableString("texelFetchOffset(00h10D00D00D").mangledNameHash());
     ASSERT_EQ(0x0000013bu, ImmutableString("texelFetchOffset(00p10D00D00D").mangledNameHash());
-    ASSERT_EQ(0x000006ebu, ImmutableString("texelFetchOffset(00u10D00D00D").mangledNameHash());
+    ASSERT_EQ(0x000006ecu, ImmutableString("texelFetchOffset(00u10D00D00D").mangledNameHash());
     ASSERT_EQ(0x000002dau, ImmutableString("textureGradOffset(00g00B00B00B00D").mangledNameHash());
-    ASSERT_EQ(0x00000816u, ImmutableString("textureGradOffset(00o00B00B00B00D").mangledNameHash());
-    ASSERT_EQ(0x000005fbu, ImmutableString("textureGradOffset(00t00B00B00B00D").mangledNameHash());
-    ASSERT_EQ(0x0000038cu, ImmutableString("textureGradOffset(00m20B00B00B00D").mangledNameHash());
-    ASSERT_EQ(0x0000077au, ImmutableString("textureGradOffset(00h10B00B00B00D").mangledNameHash());
+    ASSERT_EQ(0x00000817u, ImmutableString("textureGradOffset(00o00B00B00B00D").mangledNameHash());
+    ASSERT_EQ(0x000005fdu, ImmutableString("textureGradOffset(00t00B00B00B00D").mangledNameHash());
+    ASSERT_EQ(0x0000038du, ImmutableString("textureGradOffset(00m20B00B00B00D").mangledNameHash());
+    ASSERT_EQ(0x0000077bu, ImmutableString("textureGradOffset(00h10B00B00B00D").mangledNameHash());
     ASSERT_EQ(0x00000173u, ImmutableString("textureGradOffset(00p10B00B00B00D").mangledNameHash());
-    ASSERT_EQ(0x00000532u, ImmutableString("textureGradOffset(00u10B00B00B00D").mangledNameHash());
-    ASSERT_EQ(0x00000488u, ImmutableString("textureGradOffset(00i20B00B00B00D").mangledNameHash());
+    ASSERT_EQ(0x00000535u, ImmutableString("textureGradOffset(00u10B00B00B00D").mangledNameHash());
+    ASSERT_EQ(0x0000048bu, ImmutableString("textureGradOffset(00i20B00B00B00D").mangledNameHash());
     ASSERT_EQ(0x000008fbu,
               ImmutableString("textureProjGradOffset(00g10B00B00B00D").mangledNameHash());
     ASSERT_EQ(0x00000304u,
               ImmutableString("textureProjGradOffset(00o10B00B00B00D").mangledNameHash());
-    ASSERT_EQ(0x00000829u,
+    ASSERT_EQ(0x0000082au,
               ImmutableString("textureProjGradOffset(00t10B00B00B00D").mangledNameHash());
     ASSERT_EQ(0x000001c6u,
               ImmutableString("textureProjGradOffset(00g30B00B00B00D").mangledNameHash());
-    ASSERT_EQ(0x000005e5u,
+    ASSERT_EQ(0x000005e7u,
               ImmutableString("textureProjGradOffset(00o30B00B00B00D").mangledNameHash());
-    ASSERT_EQ(0x00000702u,
+    ASSERT_EQ(0x00000703u,
               ImmutableString("textureProjGradOffset(00t30B00B00B00D").mangledNameHash());
-    ASSERT_EQ(0x000005e1u,
+    ASSERT_EQ(0x000005e3u,
               ImmutableString("textureProjGradOffset(00m30B00B00B00D").mangledNameHash());
-    ASSERT_EQ(0x000007c4u, ImmutableString("texture(00g00B00B").mangledNameHash());
+    ASSERT_EQ(0x000007c5u, ImmutableString("texture(00g00B00B").mangledNameHash());
     ASSERT_EQ(0x00000917u, ImmutableString("texture(00o00B00B").mangledNameHash());
     ASSERT_EQ(0x00000128u, ImmutableString("texture(00t00B00B").mangledNameHash());
     ASSERT_EQ(0x000001c5u, ImmutableString("texture(00m20B00B").mangledNameHash());
     ASSERT_EQ(0x000001c2u, ImmutableString("texture(00h20B00B").mangledNameHash());
     ASSERT_EQ(0x0000006du, ImmutableString("texture(00p20B00B").mangledNameHash());
-    ASSERT_EQ(0x000006cbu, ImmutableString("texture(00u20B00B").mangledNameHash());
+    ASSERT_EQ(0x000006cdu, ImmutableString("texture(00u20B00B").mangledNameHash());
     ASSERT_EQ(0x000002abu, ImmutableString("texture(00i20B00B").mangledNameHash());
     ASSERT_EQ(0x000008feu, ImmutableString("texture(00f30B00B").mangledNameHash());
     ASSERT_EQ(0x00000062u, ImmutableString("textureProj(00g10B00B").mangledNameHash());
-    ASSERT_EQ(0x000006b2u, ImmutableString("textureProj(00o10B00B").mangledNameHash());
+    ASSERT_EQ(0x000006b4u, ImmutableString("textureProj(00o10B00B").mangledNameHash());
     ASSERT_EQ(0x0000020bu, ImmutableString("textureProj(00t10B00B").mangledNameHash());
-    ASSERT_EQ(0x000005e6u, ImmutableString("textureProj(00g30B00B").mangledNameHash());
+    ASSERT_EQ(0x000005e8u, ImmutableString("textureProj(00g30B00B").mangledNameHash());
     ASSERT_EQ(0x000001c7u, ImmutableString("textureProj(00o30B00B").mangledNameHash());
-    ASSERT_EQ(0x0000054du, ImmutableString("textureProj(00t30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000550u, ImmutableString("textureProj(00t30B00B").mangledNameHash());
     ASSERT_EQ(0x00000887u, ImmutableString("textureProj(00m30B00B").mangledNameHash());
-    ASSERT_EQ(0x000003c4u, ImmutableString("textureOffset(00g00B00D00B").mangledNameHash());
+    ASSERT_EQ(0x000003c6u, ImmutableString("textureOffset(00g00B00D00B").mangledNameHash());
     ASSERT_EQ(0x0000030au, ImmutableString("textureOffset(00o00B00D00B").mangledNameHash());
-    ASSERT_EQ(0x000003f7u, ImmutableString("textureOffset(00t00B00D00B").mangledNameHash());
-    ASSERT_EQ(0x00000820u, ImmutableString("textureOffset(00m20B00D00B").mangledNameHash());
+    ASSERT_EQ(0x000003f9u, ImmutableString("textureOffset(00t00B00D00B").mangledNameHash());
+    ASSERT_EQ(0x00000821u, ImmutableString("textureOffset(00m20B00D00B").mangledNameHash());
     ASSERT_EQ(0x00000319u, ImmutableString("textureOffset(00h10B00D00B").mangledNameHash());
-    ASSERT_EQ(0x000007dau, ImmutableString("textureOffset(00p10B00D00B").mangledNameHash());
+    ASSERT_EQ(0x000007dbu, ImmutableString("textureOffset(00p10B00D00B").mangledNameHash());
     ASSERT_EQ(0x00000180u, ImmutableString("textureOffset(00u10B00D00B").mangledNameHash());
-    ASSERT_EQ(0x0000062eu, ImmutableString("textureOffset(00i20B00D00B").mangledNameHash());
+    ASSERT_EQ(0x00000630u, ImmutableString("textureOffset(00i20B00D00B").mangledNameHash());
     ASSERT_EQ(0x000000d5u, ImmutableString("textureProjOffset(00g10B00D00B").mangledNameHash());
-    ASSERT_EQ(0x000005b0u, ImmutableString("textureProjOffset(00o10B00D00B").mangledNameHash());
+    ASSERT_EQ(0x000005b2u, ImmutableString("textureProjOffset(00o10B00D00B").mangledNameHash());
     ASSERT_EQ(0x000001d8u, ImmutableString("textureProjOffset(00t10B00D00B").mangledNameHash());
-    ASSERT_EQ(0x0000045cu, ImmutableString("textureProjOffset(00g30B00D00B").mangledNameHash());
-    ASSERT_EQ(0x000006a3u, ImmutableString("textureProjOffset(00o30B00D00B").mangledNameHash());
+    ASSERT_EQ(0x0000045fu, ImmutableString("textureProjOffset(00g30B00D00B").mangledNameHash());
+    ASSERT_EQ(0x000006a5u, ImmutableString("textureProjOffset(00o30B00D00B").mangledNameHash());
     ASSERT_EQ(0x00000039u, ImmutableString("textureProjOffset(00t30B00D00B").mangledNameHash());
-    ASSERT_EQ(0x0000037bu, ImmutableString("textureProjOffset(00m30B00D00B").mangledNameHash());
-    ASSERT_EQ(0x000003cdu, ImmutableString("texture1D(00g00B").mangledNameHash());
-    ASSERT_EQ(0x0000070cu, ImmutableString("texture1DProj(00g10B").mangledNameHash());
-    ASSERT_EQ(0x0000058eu, ImmutableString("texture1DProj(00g30B").mangledNameHash());
+    ASSERT_EQ(0x0000037cu, ImmutableString("textureProjOffset(00m30B00D00B").mangledNameHash());
+    ASSERT_EQ(0x000003cfu, ImmutableString("texture1D(00g00B").mangledNameHash());
+    ASSERT_EQ(0x0000070du, ImmutableString("texture1DProj(00g10B").mangledNameHash());
+    ASSERT_EQ(0x00000591u, ImmutableString("texture1DProj(00g30B").mangledNameHash());
     ASSERT_EQ(0x000008c8u, ImmutableString("shadow1D(00m20B").mangledNameHash());
     ASSERT_EQ(0x000008fdu, ImmutableString("shadow1DProj(00m30B").mangledNameHash());
-    ASSERT_EQ(0x000003e9u, ImmutableString("shadow2D(00d20B").mangledNameHash());
-    ASSERT_EQ(0x000006dau, ImmutableString("shadow2DProj(00d30B").mangledNameHash());
-    ASSERT_EQ(0x00000611u, ImmutableString("noise1(00B").mangledNameHash());
-    ASSERT_EQ(0x000006d8u, ImmutableString("noise1(10B").mangledNameHash());
-    ASSERT_EQ(0x0000077fu, ImmutableString("noise1(20B").mangledNameHash());
-    ASSERT_EQ(0x0000035fu, ImmutableString("noise1(30B").mangledNameHash());
+    ASSERT_EQ(0x000003ebu, ImmutableString("shadow2D(00d20B").mangledNameHash());
+    ASSERT_EQ(0x000006dcu, ImmutableString("shadow2DProj(00d30B").mangledNameHash());
+    ASSERT_EQ(0x00000613u, ImmutableString("noise1(00B").mangledNameHash());
+    ASSERT_EQ(0x000006dau, ImmutableString("noise1(10B").mangledNameHash());
+    ASSERT_EQ(0x00000780u, ImmutableString("noise1(20B").mangledNameHash());
+    ASSERT_EQ(0x00000360u, ImmutableString("noise1(30B").mangledNameHash());
     ASSERT_EQ(0x00000303u, ImmutableString("noise2(00B").mangledNameHash());
     ASSERT_EQ(0x000000dbu, ImmutableString("noise2(10B").mangledNameHash());
     ASSERT_EQ(0x0000009bu, ImmutableString("noise2(20B").mangledNameHash());
-    ASSERT_EQ(0x0000074cu, ImmutableString("noise2(30B").mangledNameHash());
+    ASSERT_EQ(0x0000074du, ImmutableString("noise2(30B").mangledNameHash());
     ASSERT_EQ(0x000002dcu, ImmutableString("noise3(00B").mangledNameHash());
-    ASSERT_EQ(0x00000377u, ImmutableString("noise3(10B").mangledNameHash());
-    ASSERT_EQ(0x00000431u, ImmutableString("noise3(20B").mangledNameHash());
+    ASSERT_EQ(0x00000378u, ImmutableString("noise3(10B").mangledNameHash());
+    ASSERT_EQ(0x00000433u, ImmutableString("noise3(20B").mangledNameHash());
     ASSERT_EQ(0x0000021fu, ImmutableString("noise3(30B").mangledNameHash());
-    ASSERT_EQ(0x00000369u, ImmutableString("noise4(00B").mangledNameHash());
+    ASSERT_EQ(0x0000036au, ImmutableString("noise4(00B").mangledNameHash());
     ASSERT_EQ(0x000002d4u, ImmutableString("noise4(10B").mangledNameHash());
-    ASSERT_EQ(0x000004d5u, ImmutableString("noise4(20B").mangledNameHash());
-    ASSERT_EQ(0x00000425u, ImmutableString("noise4(30B").mangledNameHash());
+    ASSERT_EQ(0x000004d8u, ImmutableString("noise4(20B").mangledNameHash());
+    ASSERT_EQ(0x00000427u, ImmutableString("noise4(30B").mangledNameHash());
     ASSERT_EQ(0x0000030bu, ImmutableString("ftransform(").mangledNameHash());
-    ASSERT_EQ(0x00000542u, ImmutableString("texture1DLod(00g00B00B").mangledNameHash());
-    ASSERT_EQ(0x00000707u, ImmutableString("texture1DProjLod(00g10B00B").mangledNameHash());
-    ASSERT_EQ(0x0000056bu, ImmutableString("texture1DProjLod(00g30B00B").mangledNameHash());
-    ASSERT_EQ(0x000004a4u, ImmutableString("shadow1DLod(00m20B00B").mangledNameHash());
-    ASSERT_EQ(0x000006c8u, ImmutableString("shadow1DProjLod(00m30B00B").mangledNameHash());
-    ASSERT_EQ(0x0000070au, ImmutableString("shadow2DLod(00d20B00B").mangledNameHash());
-    ASSERT_EQ(0x0000072cu, ImmutableString("shadow2DProjLod(00d30B00B").mangledNameHash());
-    ASSERT_EQ(0x0000059fu, ImmutableString("texture1D(00g00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000545u, ImmutableString("texture1DLod(00g00B00B").mangledNameHash());
+    ASSERT_EQ(0x00000708u, ImmutableString("texture1DProjLod(00g10B00B").mangledNameHash());
+    ASSERT_EQ(0x0000056eu, ImmutableString("texture1DProjLod(00g30B00B").mangledNameHash());
+    ASSERT_EQ(0x000004a7u, ImmutableString("shadow1DLod(00m20B00B").mangledNameHash());
+    ASSERT_EQ(0x000006cau, ImmutableString("shadow1DProjLod(00m30B00B").mangledNameHash());
+    ASSERT_EQ(0x0000070bu, ImmutableString("shadow2DLod(00d20B00B").mangledNameHash());
+    ASSERT_EQ(0x0000072du, ImmutableString("shadow2DProjLod(00d30B00B").mangledNameHash());
+    ASSERT_EQ(0x000005a1u, ImmutableString("texture1D(00g00B00B").mangledNameHash());
     ASSERT_EQ(0x00000221u, ImmutableString("texture1DProj(00g10B00B").mangledNameHash());
-    ASSERT_EQ(0x00000658u, ImmutableString("texture1DProj(00g30B00B").mangledNameHash());
+    ASSERT_EQ(0x0000065au, ImmutableString("texture1DProj(00g30B00B").mangledNameHash());
     ASSERT_EQ(0x000000bau, ImmutableString("shadow1D(00m20B00B").mangledNameHash());
-    ASSERT_EQ(0x0000054eu, ImmutableString("shadow1DProj(00m30B00B").mangledNameHash());
+    ASSERT_EQ(0x00000551u, ImmutableString("shadow1DProj(00m30B00B").mangledNameHash());
     ASSERT_EQ(0x00000258u, ImmutableString("shadow2D(00d20B00B").mangledNameHash());
     ASSERT_EQ(0x000008b6u, ImmutableString("shadow2DProj(00d30B00B").mangledNameHash());
 }