Commit e7970c3e by Clemen Deng Committed by Commit Bot

BasicMangledName class

Need a class for basic mangled names since with the addition of GLSL types the number of basic types is > 52 (a-z, A-Z), so we need more than one character to represent a type Bug: angleproject:3719 Change-Id: I98beee9d42a016cb0c017f56ab82538c89212e33 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742221 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent bca3e7b2
{
"src/compiler/translator/ImmutableString_autogen.cpp":
"e7c9b98db7d7b435f57ff26fc265efb3",
"a47e4acb32dac769b179bb1e884fbece",
"src/compiler/translator/ParseContext_autogen.h":
"58786d2f352ee1a58d529fb7572c86a4",
"src/compiler/translator/SymbolTable_autogen.cpp":
"040a451ff0ad57612d5614d853cebd5a",
"cd0abc040d6902e1688d048d19ca70a9",
"src/compiler/translator/SymbolTable_autogen.h":
"bdb3c8eab0d48267a2f264e3af635e1a",
"src/compiler/translator/builtin_function_declarations.txt":
......@@ -12,9 +12,9 @@
"src/compiler/translator/builtin_variables.json":
"04f763459cfbd47831bec22299287e82",
"src/compiler/translator/gen_builtin_symbols.py":
"466747c0158bab9d4792f066b70bf5ed",
"5527c49f0e939aa593fa14f0f0cf84c5",
"src/compiler/translator/tree_util/BuiltIn_autogen.h":
"69268b2f3bda048ba8aaabe60c9b9912",
"8960db32b50614ad1f339bd0f5fdca2a",
"src/tests/compiler_tests/ImmutableString_test_autogen.cpp":
"aafd90302c36e2a848711576aa3a1aee"
"7b9cded5c25f8e433b866a3f4be334c3"
}
\ No newline at end of file
......@@ -113,19 +113,35 @@ enum TBasicType
EbtLast = EbtInterfaceBlock
};
constexpr char GetBasicMangledName(TBasicType t)
class TBasicMangledName
{
if (t > EbtLastSimpleType)
public:
constexpr TBasicMangledName(TBasicType t) : mName{'\0', '\0'}
{
return '{';
if (t > EbtLastSimpleType)
{
mName[0] = '{';
mName[1] = '\0';
}
else if (t < 26)
{
mName[0] = '0';
mName[1] = static_cast<char>('A' + t);
}
else if (t < 52)
{
mName[0] = '0';
mName[1] = static_cast<char>('a' - 26 + t);
}
}
static_assert(EbtLastSimpleType < 52, "We only use alphabetic characters for mangled names");
if (t < 26)
{
return static_cast<char>('A' + t);
}
return static_cast<char>('a' - 26 + t);
}
constexpr char *getName() { return mName; }
static constexpr int mangledNameSize = 2;
private:
char mName[mangledNameSize];
};
const char *getBasicString(TBasicType t);
......
......@@ -24,134 +24,147 @@ std::ostream &operator<<(std::ostream &os, const sh::ImmutableString &str)
namespace
{
constexpr int kT1[] = {854, 583, 1017, 1261, 74, 1264, 17, 772, 177, 1669, 50, 1311,
893, 984, 500, 729, 837, 870, 944, 1614, 1220, 358, 887, 44,
685, 841, 335, 1676, 1170, 1028, 99, 444, 879, 1844, 1182};
constexpr int kT2[] = {736, 1561, 1876, 1663, 997, 1012, 1216, 1376, 1420, 1081, 773, 536,
1426, 114, 1851, 1914, 1734, 1715, 1851, 1162, 1616, 1379, 341, 310,
1449, 1759, 1789, 384, 1106, 1661, 1460, 1570, 539, 640, 724};
constexpr int kT1[] = {100, 182, 2130, 662, 157, 133, 170, 477, 1253, 73, 861, 1822, 1766,
363, 405, 112, 62, 1889, 1641, 1159, 1800, 323, 2099, 1538, 1744, 549,
40, 1304, 1204, 497, 654, 1117, 2106, 1383, 1458, 584, 791};
constexpr int kT2[] = {1790, 2006, 711, 1768, 1296, 50, 1765, 2077, 1563, 1552, 55, 758, 1598,
1977, 317, 477, 1306, 1736, 632, 833, 1484, 166, 1015, 571, 71, 779,
634, 1906, 583, 805, 238, 164, 420, 1754, 1761, 2014, 1117};
constexpr int kG[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1929, 0, 0, 1733, 0,
0, 0, 0, 0, 0, 181, 0, 0, 0, 0, 0, 1394, 0, 763, 0, 0,
0, 0, 0, 1624, 0, 0, 0, 0, 0, 0, 0, 0, 1575, 0, 0, 0,
0, 0, 0, 1807, 0, 1619, 1061, 0, 0, 430, 0, 0, 1033, 0, 0, 336,
0, 0, 1633, 1714, 0, 0, 0, 0, 0, 472, 668, 1687, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1913, 1079, 0, 0, 0, 1411, 0, 521, 0, 0, 0,
0, 0, 0, 1865, 0, 314, 0, 0, 0, 0, 0, 1494, 1065, 893, 413, 1505,
111, 0, 495, 0, 0, 1835, 892, 68, 0, 214, 1310, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1227, 0, 0, 1496, 0, 0, 0, 0, 335, 125, 0, 514,
0, 0, 0, 458, 980, 0, 0, 0, 718, 437, 0, 0, 0, 0, 921, 0,
0, 1675, 1586, 0, 0, 0, 0, 0, 106, 0, 0, 720, 0, 1684, 0, 0,
1733, 0, 1223, 0, 0, 1854, 0, 0, 260, 395, 0, 0, 0, 344, 0, 0,
0, 0, 1611, 1879, 0, 703, 1701, 1301, 0, 0, 0, 0, 0, 0, 0, 776,
0, 397, 1751, 0, 0, 0, 0, 1244, 828, 0, 0, 0, 0, 0, 1108, 0,
0, 0, 0, 0, 0, 0, 1795, 637, 0, 0, 0, 251, 1542, 0, 1794, 0,
1895, 0, 372, 0, 245, 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, 761,
0, 0, 1269, 0, 0, 193, 0, 501, 1237, 517, 1509, 0, 223, 0, 380, 0,
0, 0, 0, 0, 935, 0, 0, 0, 832, 1474, 0, 0, 1475, 752, 0, 377,
79, 165, 0, 0, 521, 0, 1041, 969, 273, 602, 26, 0, 1838, 180, 0, 0,
494, 445, 1059, 0, 0, 351, 0, 312, 0, 0, 0, 530, 1745, 0, 365, 1108,
0, 0, 1042, 613, 72, 1244, 508, 547, 0, 0, 0, 0, 0, 0, 1262, 0,
354, 833, 0, 70, 1004, 0, 101, 342, 0, 0, 557, 0, 0, 341, 264, 0,
0, 988, 0, 0, 0, 931, 50, 1703, 0, 144, 384, 1729, 0, 390, 531, 0,
0, 437, 1463, 0, 846, 1632, 0, 0, 9, 491, 283, 0, 790, 0, 0, 916,
0, 285, 1839, 0, 1885, 1555, 1, 0, 924, 0, 0, 0, 1618, 795, 0, 0,
1554, 540, 0, 0, 119, 0, 0, 955, 1458, 0, 0, 927, 1798, 1170, 0, 275,
457, 0, 0, 0, 1875, 653, 0, 0, 0, 675, 0, 621, 0, 0, 419, 0,
551, 0, 0, 1104, 0, 0, 0, 1907, 1848, 0, 0, 762, 0, 1621, 0, 0,
0, 0, 1568, 0, 393, 529, 0, 0, 0, 297, 0, 0, 988, 298, 1400, 0,
1747, 0, 0, 497, 583, 0, 175, 1136, 718, 786, 0, 94, 741, 0, 0, 0,
1526, 0, 1595, 386, 0, 661, 0, 0, 0, 0, 1868, 1383, 1201, 357, 0, 183,
1926, 0, 126, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0,
1070, 15, 0, 773, 199, 488, 0, 968, 974, 0, 0, 0, 832, 593, 580, 0,
1364, 0, 954, 0, 925, 309, 673, 1893, 0, 0, 0, 300, 0, 442, 0, 1003,
0, 0, 306, 0, 1409, 0, 734, 1107, 1230, 0, 186, 8, 692, 0, 0, 840,
0, 1002, 1695, 0, 847, 806, 0, 1595, 482, 0, 0, 935, 0, 0, 915, 0,
0, 1590, 433, 0, 0, 949, 68, 96, 698, 0, 0, 1929, 0, 0, 464, 0,
0, 216, 0, 0, 0, 0, 33, 1314, 0, 0, 222, 0, 0, 758, 0, 1911,
0, 868, 1845, 938, 1337, 0, 287, 151, 0, 1382, 639, 0, 0, 0, 1481, 1160,
1199, 667, 0, 0, 0, 0, 0, 0, 280, 0, 0, 0, 1275, 87, 1604, 340,
260, 1427, 0, 1856, 28, 764, 594, 595, 423, 0, 0, 0, 948, 1619, 0, 0,
0, 1864, 471, 0, 103, 634, 1279, 124, 0, 27, 479, 1041, 275, 1435, 479, 368,
0, 0, 1557, 662, 64, 0, 0, 957, 574, 0, 0, 444, 0, 0, 0, 699,
0, 0, 0, 197, 0, 0, 0, 1305, 1220, 0, 0, 615, 483, 915, 121, 0,
0, 792, 0, 0, 447, 1652, 1039, 1795, 1371, 732, 542, 19, 345, 337, 1108, 0,
0, 56, 0, 0, 0, 622, 750, 0, 898, 0, 1256, 0, 0, 455, 0, 0,
0, 0, 0, 0, 0, 0, 0, 694, 646, 0, 888, 0, 794, 0, 415, 195,
0, 962, 1200, 0, 0, 1435, 0, 0, 0, 1643, 581, 0, 433, 580, 52, 0,
1777, 665, 0, 623, 0, 688, 581, 429, 0, 222, 434, 0, 0, 0, 134, 0,
892, 177, 595, 826, 1442, 0, 0, 1913, 0, 0, 449, 0, 722, 0, 508, 749,
0, 0, 0, 1299, 0, 0, 0, 0, 0, 0, 316, 1540, 566, 0, 203, 0,
498, 861, 911, 770, 1007, 398, 0, 768, 124, 663, 0, 0, 173, 0, 0, 0,
0, 993, 1109, 745, 421, 870, 494, 1874, 0, 157, 82, 0, 1082, 1390, 472, 326,
1291, 0, 557, 797, 0, 384, 0, 0, 1382, 1514, 0, 994, 0, 0, 0, 1123,
0, 822, 0, 854, 0, 1735, 0, 198, 195, 1791, 898, 0, 1588, 577, 370, 0,
0, 0, 626, 1341, 54, 0, 0, 816, 1911, 0, 0, 0, 0, 381, 966, 0,
0, 996, 0, 728, 0, 300, 0, 477, 0, 1227, 0, 1717, 1760, 986, 1442, 583,
458, 1088, 0, 819, 229, 1344, 348, 0, 1816, 58, 0, 0, 0, 1379, 0, 0,
1461, 487, 0, 1255, 0, 58, 0, 0, 1710, 1821, 0, 812, 0, 0, 1232, 468,
1866, 0, 135, 343, 477, 0, 0, 1901, 828, 0, 863, 665, 227, 0, 210, 1140,
1231, 0, 0, 758, 154, 0, 651, 32, 1381, 0, 720, 978, 431, 1063, 0, 419,
733, 0, 170, 0, 0, 0, 235, 0, 86, 1574, 549, 10, 0, 1266, 0, 0,
542, 0, 693, 579, 0, 0, 0, 0, 248, 277, 1215, 19, 253, 0, 1797, 724,
0, 821, 516, 417, 169, 1702, 5, 0, 584, 0, 0, 954, 0, 0, 0, 945,
183, 241, 0, 566, 1557, 425, 0, 417, 558, 0, 0, 0, 0, 799, 0, 364,
371, 552, 1225, 0, 0, 0, 987, 13, 1713, 947, 0, 1723, 0, 898, 1878, 883,
586, 0, 599, 713, 0, 1207, 192, 1878, 262, 188, 0, 763, 503, 989, 0, 0,
1701, 0, 963, 1568, 0, 0, 0, 370, 102, 19, 1699, 198, 1737, 658, 1262, 947,
690, 831, 0, 688, 1290, 735, 0, 102, 80, 130, 1785, 1855, 695, 0, 0, 612,
320, 0, 0, 0, 1414, 328, 0, 1890, 966, 0, 267, 496, 165, 1301, 104, 188,
808, 0, 161, 0, 906, 0, 1844, 1042, 1829, 912, 0, 0, 0, 0, 560, 211,
0, 0, 964, 0, 0, 0, 0, 0, 1527, 16, 115, 649, 51, 455, 859, 1271,
1363, 0, 1843, 870, 983, 1519, 0, 0, 91, 0, 535, 491, 0, 0, 209, 964,
0, 186, 0, 0, 135, 629, 798, 1422, 0, 0, 0, 903, 658, 0, 951, 1149,
510, 284, 1530, 329, 395, 443, 0, 256, 0, 3, 0, 276, 127, 0, 6, 498,
1079, 1401, 0, 121, 523, 223, 7, 313, 0, 0, 813, 1004, 0, 0, 1155, 0,
59, 204, 25, 1652, 1458, 1833, 950, 0, 605, 0, 173, 0, 1850, 461, 631, 0,
1734, 151, 403, 0, 0, 0, 1407, 926, 60, 111, 0, 0, 51, 0, 1590, 843,
706, 1761, 496, 1355, 0, 0, 0, 0, 6, 13, 1855, 0, 8, 365, 70, 0,
0, 1051, 712, 0, 0, 1923, 1511, 497, 1685, 1859, 142, 0, 0, 1899, 0, 0,
0, 0, 1063, 204, 1834, 0, 565, 749, 0, 191, 1674, 985, 0, 1544, 310, 501,
175, 286, 0, 0, 0, 134, 201, 0, 0, 309, 335, 0, 0, 1039, 962, 0,
0, 0, 139, 0, 0, 0, 440, 0, 1172, 1709, 0, 1255, 1883, 0, 344, 118,
0, 1087, 1398, 0, 1352, 250, 1521, 1902, 583, 0, 0, 583, 766, 0, 1590, 484,
834, 1425, 141, 400, 728, 225, 0, 0, 0, 1111, 417, 1237, 39, 0, 307, 0,
800, 0, 0, 0, 337, 0, 0, 188, 1540, 1052, 0, 0, 1044, 199, 289, 417,
426, 313, 676, 886, 0, 0, 1468, 0, 0, 1629, 1559, 1778, 0, 133, 108, 0,
0, 80, 1014, 68, 622, 710, 0, 0, 179, 458, 0, 1458, 0, 1064, 1667, 67,
380, 818, 480, 0, 440, 0, 907, 1275, 655, 0, 1569, 0, 0, 402, 839, 225,
917, 1034, 783, 379, 303, 144, 0, 1183, 743, 488, 869, 1552, 0, 1475, 0, 1535,
1550, 1303, 0, 1736, 0, 1352, 506, 1609, 1219, 756, 812, 0, 712, 273, 0, 387,
0, 1707, 326, 0, 107, 1123, 1932, 0, 981, 47, 0, 0, 654, 1272, 1619, 1930,
0, 0, 0, 0, 1023, 285, 1594, 1753, 0, 736, 1905, 31, 0, 1808, 483, 1393,
213, 360, 931, 1638, 283, 0, 1680, 1342, 0, 0, 287, 1041, 0, 163, 430, 0,
0, 1527, 521, 0, 509, 597, 0, 566, 68, 870, 625, 0, 258, 82, 757, 718,
541, 162, 871, 0, 0, 334, 113, 881, 1025, 0, 1669, 1879, 0, 0, 0, 1912,
840, 94, 0, 262, 115, 0, 1012, 0, 1068, 537, 473, 1305, 1750, 1912, 1725, 22,
1579, 746, 0, 900, 0, 0, 0, 844, 128, 934, 0, 0, 1427, 661, 0, 212,
0, 594, 1485, 0, 722, 1026, 0, 0, 609, 792, 0, 487, 270, 0, 1242, 666,
0, 0, 0, 388, 0, 1622, 181, 0, 374, 877, 955, 252, 376, 291, 583, 151,
666, 553, 0, 279, 349, 880, 1564, 450, 0, 417, 584, 0, 0, 1771, 1831, 196,
212, 269, 536, 249, 111, 1763, 1903, 0, 200, 0, 210, 1530, 787, 1141, 1679, 878,
0, 992, 628, 0, 1672, 136, 0, 734, 0, 711, 842, 1911, 705, 0, 0, 951,
0, 0, 1415, 117, 1674, 1768, 0, 1065, 1422, 979, 1234, 0, 0, 0, 774, 113,
807, 587, 310, 1225, 535, 0, 0, 0, 1367, 0, 0, 1799, 0, 475, 0, 1927,
1024, 750, 0, 0, 521, 0, 118, 1375, 1809, 729, 0, 281, 562, 1431, 0, 462,
0, 0, 617, 262, 1080, 159, 0, 1824, 1342, 0, 0, 1854, 0, 1009, 311, 0,
1002, 612, 0, 0, 0, 1615, 357, 676, 1831, 445, 803, 0, 863, 1225, 1001, 692,
331, 0, 473, 1885, 271, 0, 544, 930, 1091, 0, 0, 1053, 998, 1209, 495, 213,
454, 892, 0, 0, 1044, 0, 1839, 153, 1675, 0, 0, 632, 0, 0, 0, 364,
0, 0, 85, 269, 1145, 0, 0, 1690, 1455, 500, 868, 0, 0, 444, 212, 1449,
1557, 1880, 0, 0, 136, 807, 522, 0, 207, 1341, 1400, 1915, 215, 757, 715, 993,
0, 0, 1406, 0, 844, 187, 746, 476, 0, 505, 703, 1325, 0, 137, 547, 935,
0, 0, 44, 449, 641, 0, 1482, 1128, 2, 0, 0, 332, 1727, 403, 0, 1896,
644, 0, 308, 605, 1868, 327, 0, 0, 0, 755, 0, 0, 0, 960, 0, 982,
0, 1131, 818, 1544, 1055, 0, 120, 1867, 436, 771, 659, 0, 609, 0, 0, 866,
0, 1860, 0, 1486, 0, 273, 624, 0, 229, 407, 0, 294, 284, 0, 551, 106,
0, 1666, 0, 420, 0, 22, 0, 0, 432, 125, 0, 509, 1172, 1921, 0, 339,
966, 1659, 1278, 16, 726, 24, 0, 632, 0, 0, 0, 1322, 326, 0, 815, 502,
0, 979, 391, 0, 0, 595, 0, 1569, 470, 307, 772, 149, 15, 0, 832, 0,
0, 0, 0, 0, 572, 1491, 1247, 140, 0, 177, 0, 0, 1486, 0};
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1075, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1390, 0, 0, 0, 0, 0, 86,
0, 0, 0, 0, 660, 0, 0, 0, 0, 1707, 0, 0, 0, 0, 0, 780,
0, 0, 0, 796, 0, 1055, 0, 0, 1363, 0, 0, 0, 0, 0, 0, 0,
0, 0, 65, 0, 0, 0, 0, 0, 0, 1590, 0, 0, 0, 1959, 0, 0,
928, 0, 462, 1609, 2072, 0, 0, 0, 0, 0, 0, 0, 817, 1404, 0, 0,
0, 0, 0, 0, 490, 0, 1430, 0, 1988, 0, 1779, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 904, 0, 0, 779, 441, 0, 1094, 0, 1037, 0, 1786,
0, 1616, 241, 0, 0, 0, 0, 0, 0, 661, 0, 0, 0, 0, 1970, 0,
0, 0, 0, 0, 1137, 0, 0, 0, 0, 475, 0, 0, 0, 1411, 0, 0,
151, 0, 0, 686, 0, 0, 0, 0, 0, 1890, 1023, 239, 758, 0, 0, 0,
0, 0, 1527, 0, 0, 378, 2085, 0, 0, 0, 0, 900, 0, 0, 0, 0,
0, 0, 1160, 155, 0, 483, 0, 0, 0, 0, 2123, 0, 0, 51, 0, 0,
0, 0, 0, 0, 0, 0, 768, 1360, 0, 0, 0, 1442, 0, 0, 0, 83,
0, 452, 0, 0, 0, 1816, 0, 53, 125, 0, 0, 2120, 0, 0, 0, 0,
0, 1301, 0, 9, 1035, 0, 1722, 122, 620, 0, 1865, 0, 2118, 0, 0, 0,
0, 0, 1627, 0, 699, 0, 480, 1697, 0, 1786, 227, 0, 286, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1273, 498, 0, 81, 0, 0, 0, 0, 0, 0,
0, 1888, 0, 0, 0, 865, 0, 0, 0, 0, 960, 0, 0, 484, 0, 0,
0, 350, 0, 0, 1309, 1336, 0, 0, 241, 0, 0, 288, 0, 1111, 0, 0,
0, 1072, 0, 121, 1559, 1623, 392, 0, 0, 1707, 1104, 0, 737, 0, 0, 1523,
996, 380, 0, 0, 57, 0, 0, 1933, 0, 0, 0, 257, 774, 0, 703, 0,
0, 0, 0, 0, 1360, 0, 0, 1282, 0, 2050, 0, 0, 0, 656, 0, 0,
1999, 0, 0, 0, 0, 0, 1928, 0, 0, 0, 0, 1832, 0, 1853, 1066, 1017,
424, 0, 876, 0, 222, 538, 0, 1987, 0, 509, 525, 1708, 0, 2093, 0, 0,
0, 298, 0, 1889, 916, 1840, 139, 2076, 745, 0, 0, 1668, 0, 0, 754, 1937,
0, 0, 0, 0, 0, 1839, 296, 0, 1774, 602, 0, 1205, 0, 0, 0, 493,
290, 1905, 0, 0, 1478, 0, 0, 885, 0, 0, 263, 0, 0, 0, 0, 0,
793, 0, 1046, 869, 0, 0, 338, 380, 26, 40, 1023, 0, 0, 1000, 0, 0,
0, 629, 0, 1443, 603, 0, 1078, 1478, 1204, 2072, 248, 0, 0, 596, 0, 0,
0, 1881, 2011, 834, 310, 1096, 0, 1910, 0, 0, 0, 856, 315, 445, 0, 2059,
185, 0, 0, 0, 0, 665, 1936, 0, 109, 748, 385, 2127, 394, 268, 74, 31,
0, 0, 386, 0, 1235, 0, 121, 0, 0, 1846, 1631, 0, 0, 0, 1529, 439,
829, 0, 1387, 433, 724, 0, 1817, 0, 0, 0, 306, 0, 0, 0, 0, 0,
0, 93, 40, 0, 0, 1433, 1863, 0, 0, 1838, 0, 1379, 0, 0, 0, 989,
0, 1996, 1213, 1379, 0, 0, 0, 113, 0, 327, 803, 0, 1989, 0, 1771, 0,
1682, 466, 1550, 0, 1301, 0, 0, 1933, 837, 0, 0, 0, 124, 841, 54, 233,
0, 0, 2128, 0, 0, 2022, 0, 1006, 606, 0, 112, 452, 2078, 0, 0, 1778,
2076, 372, 0, 1812, 0, 948, 0, 1119, 0, 0, 480, 244, 960, 198, 0, 1608,
953, 1325, 1067, 1342, 0, 101, 0, 0, 0, 2124, 293, 1402, 297, 808, 0, 623,
0, 0, 522, 412, 0, 0, 0, 0, 0, 486, 221, 311, 458, 254, 0, 0,
606, 0, 0, 0, 0, 214, 2006, 0, 0, 0, 1248, 120, 0, 0, 0, 557,
0, 619, 515, 0, 0, 0, 1939, 1069, 0, 0, 1723, 0, 0, 0, 189, 496,
0, 0, 609, 0, 0, 1048, 0, 0, 0, 0, 785, 837, 0, 777, 0, 191,
694, 0, 1244, 0, 0, 0, 0, 474, 0, 1799, 0, 1252, 1770, 0, 0, 323,
1071, 0, 1620, 0, 0, 1987, 911, 315, 125, 376, 1930, 0, 0, 0, 285, 901,
276, 789, 0, 0, 1213, 0, 456, 50, 0, 448, 2113, 1154, 0, 0, 608, 1409,
0, 0, 0, 879, 1936, 568, 0, 0, 104, 0, 0, 345, 0, 0, 0, 0,
0, 427, 0, 0, 0, 2095, 1372, 0, 0, 1494, 0, 985, 0, 514, 0, 0,
115, 0, 0, 0, 0, 1661, 694, 1725, 1003, 875, 796, 759, 0, 0, 0, 624,
89, 748, 1719, 380, 2075, 0, 0, 1795, 0, 0, 0, 0, 264, 229, 0, 310,
1353, 1461, 2008, 0, 0, 0, 0, 1076, 0, 0, 0, 0, 0, 883, 25, 992,
0, 0, 272, 0, 1658, 0, 543, 0, 2079, 0, 0, 0, 0, 766, 0, 852,
430, 815, 395, 1026, 720, 175, 0, 1680, 1430, 0, 0, 773, 0, 908, 0, 0,
224, 922, 0, 0, 650, 0, 0, 418, 0, 2033, 428, 301, 0, 1116, 0, 988,
878, 2088, 0, 0, 1613, 368, 0, 0, 0, 0, 750, 1946, 1932, 0, 0, 839,
0, 0, 0, 169, 0, 1545, 330, 1162, 0, 0, 0, 557, 0, 0, 0, 0,
370, 0, 491, 0, 729, 0, 1275, 229, 556, 0, 0, 1886, 0, 131, 0, 1117,
0, 994, 152, 0, 346, 947, 0, 170, 0, 0, 484, 431, 0, 1393, 932, 0,
0, 0, 416, 0, 0, 178, 1686, 0, 674, 0, 0, 844, 0, 0, 0, 0,
0, 1944, 324, 2006, 635, 0, 58, 2097, 659, 115, 890, 0, 0, 0, 0, 0,
1904, 0, 0, 1264, 274, 1889, 1743, 0, 216, 604, 0, 0, 0, 1383, 0, 0,
0, 0, 986, 0, 0, 0, 0, 1692, 0, 0, 0, 28, 1942, 0, 763, 0,
0, 0, 211, 1666, 0, 1631, 1895, 0, 1913, 0, 0, 852, 232, 0, 1138, 441,
1382, 0, 0, 74, 683, 1671, 0, 191, 650, 0, 1717, 1539, 0, 0, 685, 1722,
2006, 79, 266, 814, 527, 0, 1480, 0, 0, 915, 0, 0, 1692, 2015, 123, 347,
1467, 0, 1777, 1715, 1684, 947, 0, 503, 551, 511, 745, 0, 1720, 0, 2013, 307,
0, 0, 123, 0, 2110, 449, 1338, 548, 0, 0, 603, 0, 1883, 0, 771, 0,
556, 446, 1479, 0, 1083, 0, 0, 1576, 0, 0, 0, 572, 902, 117, 0, 956,
0, 951, 0, 0, 0, 0, 764, 98, 1230, 1509, 0, 0, 0, 84, 807, 1283,
0, 1115, 1787, 609, 821, 0, 447, 1534, 1830, 0, 0, 0, 286, 134, 0, 0,
0, 0, 46, 0, 135, 742, 0, 1041, 0, 0, 783, 1612, 668, 919, 1487, 826,
2083, 1467, 182, 0, 296, 302, 129, 328, 1692, 0, 1763, 0, 563, 2008, 0, 0,
95, 0, 1764, 1519, 0, 0, 844, 406, 122, 0, 0, 993, 0, 0, 636, 408,
0, 0, 688, 0, 0, 265, 758, 0, 1964, 0, 0, 0, 0, 0, 611, 1993,
0, 0, 380, 1877, 55, 0, 264, 0, 0, 456, 201, 0, 463, 1066, 0, 367,
1467, 0, 170, 0, 1249, 0, 0, 0, 2068, 0, 2121, 570, 1076, 0, 335, 749,
0, 0, 250, 0, 985, 0, 0, 1649, 161, 58, 427, 1869, 555, 46, 341, 0,
742, 159, 1853, 889, 976, 900, 1651, 0, 2039, 0, 1045, 715, 0, 0, 0, 0,
0, 894, 0, 0, 0, 801, 279, 0, 0, 455, 0, 0, 1336, 0, 390, 0,
430, 732, 1289, 2045, 1020, 1274, 34, 0, 1117, 0, 0, 0, 1667, 1825, 0, 0,
377, 0, 1432, 0, 0, 2009, 0, 0, 961, 1293, 111, 0, 0, 0, 0, 1735,
0, 569, 0, 153, 0, 139, 0, 152, 327, 314, 0, 0, 0, 2090, 0, 67,
178, 645, 514, 0, 0, 235, 0, 0, 1013, 540, 2011, 0, 0, 0, 221, 471,
0, 0, 0, 0, 165, 163, 0, 899, 0, 0, 699, 1648, 0, 137, 1944, 904,
0, 142, 1742, 0, 0, 313, 1369, 1879, 857, 154, 795, 1238, 1454, 516, 1334, 119,
0, 981, 768, 0, 1009, 1516, 1390, 0, 973, 456, 744, 0, 917, 0, 0, 1879,
2113, 19, 1183, 395, 543, 1905, 251, 0, 825, 0, 952, 0, 0, 399, 0, 1509,
0, 1426, 0, 1455, 1011, 520, 890, 787, 862, 445, 0, 464, 1315, 1638, 0, 806,
0, 938, 879, 1729, 0, 556, 0, 1810, 0, 816, 0, 0, 0, 0, 77, 271,
1844, 260, 0, 714, 835, 1384, 376, 1620, 1054, 1654, 0, 2078, 929, 301, 0, 0,
701, 525, 371, 0, 485, 1888, 0, 0, 655, 0, 0, 61, 0, 0, 253, 0,
0, 587, 1636, 985, 910, 0, 432, 0, 0, 910, 0, 610, 1919, 1799, 230, 871,
73, 0, 659, 0, 0, 0, 0, 21, 0, 0, 935, 403, 1061, 619, 0, 513,
0, 0, 0, 651, 658, 168, 672, 20, 680, 0, 66, 0, 56, 0, 266, 0,
0, 0, 0, 0, 0, 417, 364, 15, 892, 82, 614, 497, 960, 339, 250, 0,
0, 0, 311, 564, 853, 0, 0, 944, 172, 1713, 1341, 892, 819, 377, 305, 966,
1680, 381, 997, 0, 1402, 938, 120, 1188, 384, 414, 1436, 83, 385, 1949, 0, 0,
0, 298, 670, 0, 0, 0, 1731, 0, 335, 174, 0, 1001, 0, 1575, 819, 0,
0, 37, 647, 411, 1946, 711, 15, 377, 0, 361, 847, 0, 0, 26, 396, 60,
1049, 0, 1051, 0, 473, 0, 0, 0, 0, 1686, 0, 196, 0, 0, 139, 0,
0, 0, 0, 0, 709, 0, 1752, 0, 546, 724, 1252, 805, 1015, 0, 319, 0,
0, 0, 115, 0, 0, 2092, 765, 661, 0, 535, 702, 632, 754, 901, 211, 1276,
0, 0, 117, 0, 80, 331, 0, 483, 838, 559, 0, 658, 1955, 720, 111, 0,
576, 110, 1228, 2072, 0, 0, 0, 1531, 1797, 435, 1538, 989, 0, 140, 711, 0,
0, 25, 70, 246, 608, 478, 36, 1525, 0, 0, 1952, 636, 812, 0, 1051, 0,
1790, 1265, 0, 0, 2127, 539, 0, 0, 1126, 0, 0, 0, 511, 530, 0, 0,
0, 1342, 29, 67, 283, 0, 0, 879, 863, 0, 685, 0, 0, 386, 991, 560,
1347, 1420, 520, 281, 167, 661, 0, 0, 0, 0, 0, 2050, 53, 0, 0, 0,
352, 341, 0, 0, 533, 0, 2089, 749, 0, 0, 1076, 0, 0, 780, 0, 94,
0, 0, 1128, 600, 30, 1465, 112, 1054, 155, 0, 873, 0, 0, 1221, 0, 372,
239, 1956, 1102, 438, 0, 0, 1783, 0, 0, 789, 105, 1451, 0, 572, 0, 1635,
752, 875, 949, 1373, 518, 0, 0, 1538, 895, 0, 303, 0, 1379, 1259, 430, 283,
0, 0, 2029, 582, 0, 685, 0, 290, 556, 937, 0, 0, 0, 0, 414, 65,
395, 0, 1064, 0, 2053, 0, 685, 998, 0, 2065, 756, 303, 0, 591, 736, 980,
886, 424, 828, 0, 795, 0, 0, 1948, 505, 374, 733, 1023, 0, 0, 0, 0,
461, 1856, 1471, 868, 879, 381, 489, 304, 0, 187, 1464, 0, 948, 1574, 0, 0,
462, 0, 0, 51, 0, 0, 0, 0, 448, 0, 525, 768, 1222, 723, 798, 0,
0, 0, 1237, 0, 2054, 1469, 71, 17, 2081, 16, 1057, 1818, 0, 756, 0, 1391,
0, 385, 266, 186, 0, 0, 0, 0, 870, 672, 1107, 1998, 712, 192, 660, 0,
445, 1021, 962, 0, 1947, 0, 533, 0, 0, 0, 0, 0, 0, 980, 1656, 0,
0, 1625, 716, 1184, 0, 355, 0, 0, 0, 482, 865, 131, 0, 0, 0, 621,
0, 80, 1559, 245, 0, 753, 0, 560, 0, 210, 1779, 0, 0, 7, 0, 0,
1503, 99, 1010, 317, 1968, 0, 490, 444, 1994, 375, 532, 583, 1631, 451, 1780, 0,
636, 0, 767, 0, 0, 0, 186, 0, 1280, 0, 603, 42, 1611, 147, 0, 1125,
0, 158, 0, 0, 1197, 736, 63, 762, 671, 0, 0, 0, 0, 0, 477, 0,
1180, 285, 696, 2054, 0, 1741, 751, 803, 2083, 1509, 1000, 0, 0, 0, 749, 406,
0, 0, 0, 0, 0, 0, 842, 426, 127, 1889, 0, 114, 0, 1080, 0, 652,
1071, 0, 722, 1367, 0, 388, 365, 0, 825, 1681, 975, 0, 0, 2107, 403, 0,
0, 0, 0, 0, 2103, 170, 0, 0, 0, 0, 0, 1292, 1060, 1742, 98, 71,
2124, 1978, 0, 0, 0, 846, 1755, 0, 893, 0, 777, 179, 2003, 1614, 529, 0,
1846, 1388, 500, 0, 1799, 899, 564, 550, 0, 0, 0, 0, 619, 332, 1889, 2073,
442, 363, 1678};
int HashG(const char *key, const int *T)
{
......@@ -160,17 +173,17 @@ int HashG(const char *key, const int *T)
for (int i = 0; key[i] != '\0'; i++)
{
sum += T[i] * key[i];
sum %= 1934;
sum %= 2131;
}
return kG[sum];
}
int PerfectHash(const char *key)
{
if (strlen(key) > 35)
if (strlen(key) > 37)
return 0;
return (HashG(key, kT1) + HashG(key, kT2)) % 1934;
return (HashG(key, kT1) + HashG(key, kT2)) % 2131;
}
} // namespace
......
......@@ -27,7 +27,7 @@ namespace Helpers
// Size of the constexpr-generated mangled name.
// If this value is too small, the compiler will produce errors.
static constexpr size_t kStaticMangledNameLength = 2;
static constexpr size_t kStaticMangledNameLength = TBasicMangledName::mangledNameSize + 1;
// Type which holds the mangled names for constexpr-generated TTypes.
// This simple struct is needed so that a char array can be returned by value.
......@@ -46,8 +46,12 @@ constexpr StaticMangledName BuildStaticMangledName(TBasicType basicType,
{
StaticMangledName name = {};
name.name[0] = TType::GetSizeMangledName(primarySize, secondarySize);
name.name[1] = GetBasicMangledName(basicType);
name.name[2] = '\0';
TBasicMangledName typeName(basicType);
char *mangledName = typeName.getName();
static_assert(TBasicMangledName::mangledNameSize == 2, "Mangled name size is not 2");
name.name[1] = mangledName[0];
name.name[2] = mangledName[1];
name.name[3] = '\0';
return name;
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -454,10 +454,13 @@ const char *TType::buildMangledName() const
{
TString mangledName(1, GetSizeMangledName(primarySize, secondarySize));
char basicMangledName = GetBasicMangledName(type);
if (basicMangledName != '{')
TBasicMangledName typeName(type);
char *basicMangledName = typeName.getName();
static_assert(TBasicMangledName::mangledNameSize == 2, "Mangled name size is not 2");
if (basicMangledName[0] != '{')
{
mangledName += basicMangledName;
mangledName += basicMangledName[0];
mangledName += basicMangledName[1];
}
else
{
......
......@@ -359,8 +359,8 @@ def set_working_dir():
def get_basic_mangled_name(basic):
index = basic_types_enumeration.index(basic)
if index < 26:
return chr(ord('A') + index)
return chr(ord('a') + index - 26)
return '0' + chr(ord('A') + index)
return '0' + chr(ord('a') + index - 26)
levels = ['ESSL3_1_BUILTINS', 'ESSL3_BUILTINS', 'ESSL1_BUILTINS', 'COMMON_BUILTINS']
......
......@@ -23,13 +23,13 @@ class BuiltInId
{
public:
static constexpr const TSymbolUniqueId radians_Float1 = TSymbolUniqueId(0);
static constexpr const TSymbolUniqueId pt0B = TSymbolUniqueId(1);
static constexpr const TSymbolUniqueId pt00B = TSymbolUniqueId(1);
static constexpr const TSymbolUniqueId radians_Float2 = TSymbolUniqueId(2);
static constexpr const TSymbolUniqueId pt1B = TSymbolUniqueId(3);
static constexpr const TSymbolUniqueId pt10B = TSymbolUniqueId(3);
static constexpr const TSymbolUniqueId radians_Float3 = TSymbolUniqueId(4);
static constexpr const TSymbolUniqueId pt2B = TSymbolUniqueId(5);
static constexpr const TSymbolUniqueId pt20B = TSymbolUniqueId(5);
static constexpr const TSymbolUniqueId radians_Float4 = TSymbolUniqueId(6);
static constexpr const TSymbolUniqueId pt3B = TSymbolUniqueId(7);
static constexpr const TSymbolUniqueId pt30B = TSymbolUniqueId(7);
static constexpr const TSymbolUniqueId degrees_Float1 = TSymbolUniqueId(8);
static constexpr const TSymbolUniqueId degrees_Float2 = TSymbolUniqueId(9);
static constexpr const TSymbolUniqueId degrees_Float3 = TSymbolUniqueId(10);
......@@ -119,13 +119,13 @@ class BuiltInId
static constexpr const TSymbolUniqueId abs_Float3 = TSymbolUniqueId(94);
static constexpr const TSymbolUniqueId abs_Float4 = TSymbolUniqueId(95);
static constexpr const TSymbolUniqueId abs_Int1 = TSymbolUniqueId(96);
static constexpr const TSymbolUniqueId pt0C = TSymbolUniqueId(97);
static constexpr const TSymbolUniqueId pt00C = TSymbolUniqueId(97);
static constexpr const TSymbolUniqueId abs_Int2 = TSymbolUniqueId(98);
static constexpr const TSymbolUniqueId pt1C = TSymbolUniqueId(99);
static constexpr const TSymbolUniqueId pt10C = TSymbolUniqueId(99);
static constexpr const TSymbolUniqueId abs_Int3 = TSymbolUniqueId(100);
static constexpr const TSymbolUniqueId pt2C = TSymbolUniqueId(101);
static constexpr const TSymbolUniqueId pt20C = TSymbolUniqueId(101);
static constexpr const TSymbolUniqueId abs_Int4 = TSymbolUniqueId(102);
static constexpr const TSymbolUniqueId pt3C = TSymbolUniqueId(103);
static constexpr const TSymbolUniqueId pt30C = TSymbolUniqueId(103);
static constexpr const TSymbolUniqueId sign_Float1 = TSymbolUniqueId(104);
static constexpr const TSymbolUniqueId sign_Float2 = TSymbolUniqueId(105);
static constexpr const TSymbolUniqueId sign_Float3 = TSymbolUniqueId(106);
......@@ -180,13 +180,13 @@ class BuiltInId
static constexpr const TSymbolUniqueId min_Int3_Int1 = TSymbolUniqueId(155);
static constexpr const TSymbolUniqueId min_Int4_Int1 = TSymbolUniqueId(156);
static constexpr const TSymbolUniqueId min_UInt1_UInt1 = TSymbolUniqueId(157);
static constexpr const TSymbolUniqueId pt0D = TSymbolUniqueId(158);
static constexpr const TSymbolUniqueId pt00D = TSymbolUniqueId(158);
static constexpr const TSymbolUniqueId min_UInt2_UInt2 = TSymbolUniqueId(159);
static constexpr const TSymbolUniqueId pt1D = TSymbolUniqueId(160);
static constexpr const TSymbolUniqueId pt10D = TSymbolUniqueId(160);
static constexpr const TSymbolUniqueId min_UInt3_UInt3 = TSymbolUniqueId(161);
static constexpr const TSymbolUniqueId pt2D = TSymbolUniqueId(162);
static constexpr const TSymbolUniqueId pt20D = TSymbolUniqueId(162);
static constexpr const TSymbolUniqueId min_UInt4_UInt4 = TSymbolUniqueId(163);
static constexpr const TSymbolUniqueId pt3D = TSymbolUniqueId(164);
static constexpr const TSymbolUniqueId pt30D = TSymbolUniqueId(164);
static constexpr const TSymbolUniqueId min_UInt2_UInt1 = TSymbolUniqueId(165);
static constexpr const TSymbolUniqueId min_UInt3_UInt1 = TSymbolUniqueId(166);
static constexpr const TSymbolUniqueId min_UInt4_UInt1 = TSymbolUniqueId(167);
......@@ -240,13 +240,13 @@ class BuiltInId
static constexpr const TSymbolUniqueId mix_Float3_Float3_Float3 = TSymbolUniqueId(215);
static constexpr const TSymbolUniqueId mix_Float4_Float4_Float4 = TSymbolUniqueId(216);
static constexpr const TSymbolUniqueId mix_Float1_Float1_Bool1 = TSymbolUniqueId(217);
static constexpr const TSymbolUniqueId pt0E = TSymbolUniqueId(218);
static constexpr const TSymbolUniqueId pt00E = TSymbolUniqueId(218);
static constexpr const TSymbolUniqueId mix_Float2_Float2_Bool2 = TSymbolUniqueId(219);
static constexpr const TSymbolUniqueId pt1E = TSymbolUniqueId(220);
static constexpr const TSymbolUniqueId pt10E = TSymbolUniqueId(220);
static constexpr const TSymbolUniqueId mix_Float3_Float3_Bool3 = TSymbolUniqueId(221);
static constexpr const TSymbolUniqueId pt2E = TSymbolUniqueId(222);
static constexpr const TSymbolUniqueId pt20E = TSymbolUniqueId(222);
static constexpr const TSymbolUniqueId mix_Float4_Float4_Bool4 = TSymbolUniqueId(223);
static constexpr const TSymbolUniqueId pt3E = TSymbolUniqueId(224);
static constexpr const TSymbolUniqueId pt30E = TSymbolUniqueId(224);
static constexpr const TSymbolUniqueId step_Float1_Float1 = TSymbolUniqueId(225);
static constexpr const TSymbolUniqueId step_Float2_Float2 = TSymbolUniqueId(226);
static constexpr const TSymbolUniqueId step_Float3_Float3 = TSymbolUniqueId(227);
......@@ -262,13 +262,13 @@ class BuiltInId
static constexpr const TSymbolUniqueId smoothstep_Float1_Float1_Float3 = TSymbolUniqueId(237);
static constexpr const TSymbolUniqueId smoothstep_Float1_Float1_Float4 = TSymbolUniqueId(238);
static constexpr const TSymbolUniqueId modf_Float1_Float1 = TSymbolUniqueId(239);
static constexpr const TSymbolUniqueId pt_o_0B = TSymbolUniqueId(240);
static constexpr const TSymbolUniqueId pt_o_00B = TSymbolUniqueId(240);
static constexpr const TSymbolUniqueId modf_Float2_Float2 = TSymbolUniqueId(241);
static constexpr const TSymbolUniqueId pt_o_1B = TSymbolUniqueId(242);
static constexpr const TSymbolUniqueId pt_o_10B = TSymbolUniqueId(242);
static constexpr const TSymbolUniqueId modf_Float3_Float3 = TSymbolUniqueId(243);
static constexpr const TSymbolUniqueId pt_o_2B = TSymbolUniqueId(244);
static constexpr const TSymbolUniqueId pt_o_20B = TSymbolUniqueId(244);
static constexpr const TSymbolUniqueId modf_Float4_Float4 = TSymbolUniqueId(245);
static constexpr const TSymbolUniqueId pt_o_3B = TSymbolUniqueId(246);
static constexpr const TSymbolUniqueId pt_o_30B = TSymbolUniqueId(246);
static constexpr const TSymbolUniqueId isnan_Float1 = TSymbolUniqueId(247);
static constexpr const TSymbolUniqueId isnan_Float2 = TSymbolUniqueId(248);
static constexpr const TSymbolUniqueId isnan_Float3 = TSymbolUniqueId(249);
......@@ -294,13 +294,13 @@ class BuiltInId
static constexpr const TSymbolUniqueId uintBitsToFloat_UInt3 = TSymbolUniqueId(269);
static constexpr const TSymbolUniqueId uintBitsToFloat_UInt4 = TSymbolUniqueId(270);
static constexpr const TSymbolUniqueId frexp_Float1_Int1 = TSymbolUniqueId(271);
static constexpr const TSymbolUniqueId pt_o_0C = TSymbolUniqueId(272);
static constexpr const TSymbolUniqueId pt_o_00C = TSymbolUniqueId(272);
static constexpr const TSymbolUniqueId frexp_Float2_Int2 = TSymbolUniqueId(273);
static constexpr const TSymbolUniqueId pt_o_1C = TSymbolUniqueId(274);
static constexpr const TSymbolUniqueId pt_o_10C = TSymbolUniqueId(274);
static constexpr const TSymbolUniqueId frexp_Float3_Int3 = TSymbolUniqueId(275);
static constexpr const TSymbolUniqueId pt_o_2C = TSymbolUniqueId(276);
static constexpr const TSymbolUniqueId pt_o_20C = TSymbolUniqueId(276);
static constexpr const TSymbolUniqueId frexp_Float4_Int4 = TSymbolUniqueId(277);
static constexpr const TSymbolUniqueId pt_o_3C = TSymbolUniqueId(278);
static constexpr const TSymbolUniqueId pt_o_30C = TSymbolUniqueId(278);
static constexpr const TSymbolUniqueId ldexp_Float1_Int1 = TSymbolUniqueId(279);
static constexpr const TSymbolUniqueId ldexp_Float2_Int2 = TSymbolUniqueId(280);
static constexpr const TSymbolUniqueId ldexp_Float3_Int3 = TSymbolUniqueId(281);
......@@ -345,23 +345,23 @@ class BuiltInId
static constexpr const TSymbolUniqueId refract_Float3_Float3_Float1 = TSymbolUniqueId(320);
static constexpr const TSymbolUniqueId refract_Float4_Float4_Float1 = TSymbolUniqueId(321);
static constexpr const TSymbolUniqueId matrixCompMult_Float2x2_Float2x2 = TSymbolUniqueId(322);
static constexpr const TSymbolUniqueId pt5B = TSymbolUniqueId(323);
static constexpr const TSymbolUniqueId pt50B = TSymbolUniqueId(323);
static constexpr const TSymbolUniqueId matrixCompMult_Float3x3_Float3x3 = TSymbolUniqueId(324);
static constexpr const TSymbolUniqueId ptAB = TSymbolUniqueId(325);
static constexpr const TSymbolUniqueId ptA0B = TSymbolUniqueId(325);
static constexpr const TSymbolUniqueId matrixCompMult_Float4x4_Float4x4 = TSymbolUniqueId(326);
static constexpr const TSymbolUniqueId ptFB = TSymbolUniqueId(327);
static constexpr const TSymbolUniqueId ptF0B = TSymbolUniqueId(327);
static constexpr const TSymbolUniqueId matrixCompMult_Float2x3_Float2x3 = TSymbolUniqueId(328);
static constexpr const TSymbolUniqueId pt9B = TSymbolUniqueId(329);
static constexpr const TSymbolUniqueId pt90B = TSymbolUniqueId(329);
static constexpr const TSymbolUniqueId matrixCompMult_Float3x2_Float3x2 = TSymbolUniqueId(330);
static constexpr const TSymbolUniqueId pt6B = TSymbolUniqueId(331);
static constexpr const TSymbolUniqueId pt60B = TSymbolUniqueId(331);
static constexpr const TSymbolUniqueId matrixCompMult_Float2x4_Float2x4 = TSymbolUniqueId(332);
static constexpr const TSymbolUniqueId ptDB = TSymbolUniqueId(333);
static constexpr const TSymbolUniqueId ptD0B = TSymbolUniqueId(333);
static constexpr const TSymbolUniqueId matrixCompMult_Float4x2_Float4x2 = TSymbolUniqueId(334);
static constexpr const TSymbolUniqueId pt7B = TSymbolUniqueId(335);
static constexpr const TSymbolUniqueId pt70B = TSymbolUniqueId(335);
static constexpr const TSymbolUniqueId matrixCompMult_Float3x4_Float3x4 = TSymbolUniqueId(336);
static constexpr const TSymbolUniqueId ptEB = TSymbolUniqueId(337);
static constexpr const TSymbolUniqueId ptE0B = TSymbolUniqueId(337);
static constexpr const TSymbolUniqueId matrixCompMult_Float4x3_Float4x3 = TSymbolUniqueId(338);
static constexpr const TSymbolUniqueId ptBB = TSymbolUniqueId(339);
static constexpr const TSymbolUniqueId ptB0B = TSymbolUniqueId(339);
static constexpr const TSymbolUniqueId outerProduct_Float2_Float2 = TSymbolUniqueId(340);
static constexpr const TSymbolUniqueId outerProduct_Float3_Float3 = TSymbolUniqueId(341);
static constexpr const TSymbolUniqueId outerProduct_Float4_Float4 = TSymbolUniqueId(342);
......@@ -512,13 +512,13 @@ class BuiltInId
static constexpr const TSymbolUniqueId findMSB_UInt3 = TSymbolUniqueId(479);
static constexpr const TSymbolUniqueId findMSB_UInt4 = TSymbolUniqueId(480);
static constexpr const TSymbolUniqueId uaddCarry_UInt1_UInt1_UInt1 = TSymbolUniqueId(481);
static constexpr const TSymbolUniqueId pt_o_0D = TSymbolUniqueId(482);
static constexpr const TSymbolUniqueId pt_o_00D = TSymbolUniqueId(482);
static constexpr const TSymbolUniqueId uaddCarry_UInt2_UInt2_UInt2 = TSymbolUniqueId(483);
static constexpr const TSymbolUniqueId pt_o_1D = TSymbolUniqueId(484);
static constexpr const TSymbolUniqueId pt_o_10D = TSymbolUniqueId(484);
static constexpr const TSymbolUniqueId uaddCarry_UInt3_UInt3_UInt3 = TSymbolUniqueId(485);
static constexpr const TSymbolUniqueId pt_o_2D = TSymbolUniqueId(486);
static constexpr const TSymbolUniqueId pt_o_20D = TSymbolUniqueId(486);
static constexpr const TSymbolUniqueId uaddCarry_UInt4_UInt4_UInt4 = TSymbolUniqueId(487);
static constexpr const TSymbolUniqueId pt_o_3D = TSymbolUniqueId(488);
static constexpr const TSymbolUniqueId pt_o_30D = TSymbolUniqueId(488);
static constexpr const TSymbolUniqueId usubBorrow_UInt1_UInt1_UInt1 = TSymbolUniqueId(489);
static constexpr const TSymbolUniqueId usubBorrow_UInt2_UInt2_UInt2 = TSymbolUniqueId(490);
static constexpr const TSymbolUniqueId usubBorrow_UInt3_UInt3_UInt3 = TSymbolUniqueId(491);
......@@ -536,21 +536,21 @@ class BuiltInId
static constexpr const TSymbolUniqueId imulExtended_Int3_Int3_Int3_Int3 = TSymbolUniqueId(499);
static constexpr const TSymbolUniqueId imulExtended_Int4_Int4_Int4_Int4 = TSymbolUniqueId(500);
static constexpr const TSymbolUniqueId texture2D_Sampler2D1_Float2 = TSymbolUniqueId(501);
static constexpr const TSymbolUniqueId pt0H = TSymbolUniqueId(502);
static constexpr const TSymbolUniqueId pt00H = TSymbolUniqueId(502);
static constexpr const TSymbolUniqueId texture2DProj_Sampler2D1_Float3 = TSymbolUniqueId(503);
static constexpr const TSymbolUniqueId texture2DProj_Sampler2D1_Float4 = TSymbolUniqueId(504);
static constexpr const TSymbolUniqueId textureCube_SamplerCube1_Float3 = TSymbolUniqueId(505);
static constexpr const TSymbolUniqueId pt0J = TSymbolUniqueId(506);
static constexpr const TSymbolUniqueId pt00J = TSymbolUniqueId(506);
static constexpr const TSymbolUniqueId texture2D_SamplerExternalOES1_Float2 =
TSymbolUniqueId(507);
static constexpr const TSymbolUniqueId pt0L = TSymbolUniqueId(508);
static constexpr const TSymbolUniqueId pt00L = TSymbolUniqueId(508);
static constexpr const TSymbolUniqueId texture2DProj_SamplerExternalOES1_Float3 =
TSymbolUniqueId(509);
static constexpr const TSymbolUniqueId texture2DProj_SamplerExternalOES1_Float4 =
TSymbolUniqueId(510);
static constexpr const TSymbolUniqueId texture2DRect_Sampler2DRect1_Float2 =
TSymbolUniqueId(511);
static constexpr const TSymbolUniqueId pt0N = TSymbolUniqueId(512);
static constexpr const TSymbolUniqueId pt00N = TSymbolUniqueId(512);
static constexpr const TSymbolUniqueId texture2DRectProj_Sampler2DRect1_Float3 =
TSymbolUniqueId(513);
static constexpr const TSymbolUniqueId texture2DRectProj_Sampler2DRect1_Float4 =
......@@ -595,7 +595,7 @@ class BuiltInId
static constexpr const TSymbolUniqueId textureCubeLodEXT_SamplerCube1_Float3_Float1 =
TSymbolUniqueId(541);
static constexpr const TSymbolUniqueId texture3D_Sampler3D1_Float3 = TSymbolUniqueId(542);
static constexpr const TSymbolUniqueId pt0I = TSymbolUniqueId(543);
static constexpr const TSymbolUniqueId pt00I = TSymbolUniqueId(543);
static constexpr const TSymbolUniqueId texture3D_Sampler3D1_Float3_Float1 =
TSymbolUniqueId(544);
static constexpr const TSymbolUniqueId texture3DProj_Sampler3D1_Float4 = TSymbolUniqueId(545);
......@@ -615,25 +615,25 @@ class BuiltInId
TSymbolUniqueId(552);
static constexpr const TSymbolUniqueId texture_Sampler2D1_Float2 = TSymbolUniqueId(553);
static constexpr const TSymbolUniqueId texture_ISampler2D1_Float2 = TSymbolUniqueId(554);
static constexpr const TSymbolUniqueId pt0Q = TSymbolUniqueId(555);
static constexpr const TSymbolUniqueId pt00Q = TSymbolUniqueId(555);
static constexpr const TSymbolUniqueId texture_USampler2D1_Float2 = TSymbolUniqueId(556);
static constexpr const TSymbolUniqueId pt0W = TSymbolUniqueId(557);
static constexpr const TSymbolUniqueId pt00W = TSymbolUniqueId(557);
static constexpr const TSymbolUniqueId texture_Sampler3D1_Float3 = TSymbolUniqueId(558);
static constexpr const TSymbolUniqueId texture_ISampler3D1_Float3 = TSymbolUniqueId(559);
static constexpr const TSymbolUniqueId pt0R = TSymbolUniqueId(560);
static constexpr const TSymbolUniqueId pt00R = TSymbolUniqueId(560);
static constexpr const TSymbolUniqueId texture_USampler3D1_Float3 = TSymbolUniqueId(561);
static constexpr const TSymbolUniqueId pt0X = TSymbolUniqueId(562);
static constexpr const TSymbolUniqueId pt00X = TSymbolUniqueId(562);
static constexpr const TSymbolUniqueId texture_SamplerCube1_Float3 = TSymbolUniqueId(563);
static constexpr const TSymbolUniqueId texture_ISamplerCube1_Float3 = TSymbolUniqueId(564);
static constexpr const TSymbolUniqueId pt0S = TSymbolUniqueId(565);
static constexpr const TSymbolUniqueId pt00S = TSymbolUniqueId(565);
static constexpr const TSymbolUniqueId texture_USamplerCube1_Float3 = TSymbolUniqueId(566);
static constexpr const TSymbolUniqueId pt0Y = TSymbolUniqueId(567);
static constexpr const TSymbolUniqueId pt00Y = TSymbolUniqueId(567);
static constexpr const TSymbolUniqueId texture_Sampler2DArray1_Float3 = TSymbolUniqueId(568);
static constexpr const TSymbolUniqueId pt0K = TSymbolUniqueId(569);
static constexpr const TSymbolUniqueId pt00K = TSymbolUniqueId(569);
static constexpr const TSymbolUniqueId texture_ISampler2DArray1_Float3 = TSymbolUniqueId(570);
static constexpr const TSymbolUniqueId pt0T = TSymbolUniqueId(571);
static constexpr const TSymbolUniqueId pt00T = TSymbolUniqueId(571);
static constexpr const TSymbolUniqueId texture_USampler2DArray1_Float3 = TSymbolUniqueId(572);
static constexpr const TSymbolUniqueId pt0Z = TSymbolUniqueId(573);
static constexpr const TSymbolUniqueId pt00Z = TSymbolUniqueId(573);
static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float3 = TSymbolUniqueId(574);
static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float3 = TSymbolUniqueId(575);
static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float3 = TSymbolUniqueId(576);
......@@ -668,12 +668,12 @@ class BuiltInId
static constexpr const TSymbolUniqueId textureLod_USampler2DArray1_Float3_Float1 =
TSymbolUniqueId(594);
static constexpr const TSymbolUniqueId texture_Sampler2DShadow1_Float3 = TSymbolUniqueId(595);
static constexpr const TSymbolUniqueId pt0c = TSymbolUniqueId(596);
static constexpr const TSymbolUniqueId pt00c = TSymbolUniqueId(596);
static constexpr const TSymbolUniqueId texture_SamplerCubeShadow1_Float4 = TSymbolUniqueId(597);
static constexpr const TSymbolUniqueId pt0d = TSymbolUniqueId(598);
static constexpr const TSymbolUniqueId pt00d = TSymbolUniqueId(598);
static constexpr const TSymbolUniqueId texture_Sampler2DArrayShadow1_Float4 =
TSymbolUniqueId(599);
static constexpr const TSymbolUniqueId pt0e = TSymbolUniqueId(600);
static constexpr const TSymbolUniqueId pt00e = TSymbolUniqueId(600);
static constexpr const TSymbolUniqueId textureProj_Sampler2DShadow1_Float4 =
TSymbolUniqueId(601);
static constexpr const TSymbolUniqueId textureLod_Sampler2DShadow1_Float3_Float1 =
......@@ -778,20 +778,20 @@ class BuiltInId
static constexpr const TSymbolUniqueId textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2 =
TSymbolUniqueId(661);
static constexpr const TSymbolUniqueId textureSize_Sampler2DMS1 = TSymbolUniqueId(662);
static constexpr const TSymbolUniqueId pt0O = TSymbolUniqueId(663);
static constexpr const TSymbolUniqueId pt00O = TSymbolUniqueId(663);
static constexpr const TSymbolUniqueId textureSize_ISampler2DMS1 = TSymbolUniqueId(664);
static constexpr const TSymbolUniqueId pt0U = TSymbolUniqueId(665);
static constexpr const TSymbolUniqueId pt00U = TSymbolUniqueId(665);
static constexpr const TSymbolUniqueId textureSize_USampler2DMS1 = TSymbolUniqueId(666);
static constexpr const TSymbolUniqueId pt0a = TSymbolUniqueId(667);
static constexpr const TSymbolUniqueId pt00a = TSymbolUniqueId(667);
static constexpr const TSymbolUniqueId textureSizeExt_Sampler2DMS1 = TSymbolUniqueId(668);
static constexpr const TSymbolUniqueId textureSizeExt_ISampler2DMS1 = TSymbolUniqueId(669);
static constexpr const TSymbolUniqueId textureSizeExt_USampler2DMS1 = TSymbolUniqueId(670);
static constexpr const TSymbolUniqueId textureSize_Sampler2DMSArray1 = TSymbolUniqueId(671);
static constexpr const TSymbolUniqueId pt0P = TSymbolUniqueId(672);
static constexpr const TSymbolUniqueId pt00P = TSymbolUniqueId(672);
static constexpr const TSymbolUniqueId textureSize_ISampler2DMSArray1 = TSymbolUniqueId(673);
static constexpr const TSymbolUniqueId pt0V = TSymbolUniqueId(674);
static constexpr const TSymbolUniqueId pt00V = TSymbolUniqueId(674);
static constexpr const TSymbolUniqueId textureSize_USampler2DMSArray1 = TSymbolUniqueId(675);
static constexpr const TSymbolUniqueId pt0b = TSymbolUniqueId(676);
static constexpr const TSymbolUniqueId pt00b = TSymbolUniqueId(676);
static constexpr const TSymbolUniqueId textureOffset_Sampler2D1_Float2_Int2 =
TSymbolUniqueId(677);
static constexpr const TSymbolUniqueId textureOffset_ISampler2D1_Float2_Int2 =
......@@ -984,14 +984,14 @@ class BuiltInId
TSymbolUniqueId(771);
static constexpr const TSymbolUniqueId texture_SamplerExternal2DY2YEXT1_Float2 =
TSymbolUniqueId(772);
static constexpr const TSymbolUniqueId pt0M = TSymbolUniqueId(773);
static constexpr const TSymbolUniqueId pt00M = TSymbolUniqueId(773);
static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float3 =
TSymbolUniqueId(774);
static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float4 =
TSymbolUniqueId(775);
static constexpr const TSymbolUniqueId rgb_2_yuv_Float3_YuvCscStandardEXT1 =
TSymbolUniqueId(776);
static constexpr const TSymbolUniqueId pt0G = TSymbolUniqueId(777);
static constexpr const TSymbolUniqueId pt00G = TSymbolUniqueId(777);
static constexpr const TSymbolUniqueId yuv_2_rgb_Float3_YuvCscStandardEXT1 =
TSymbolUniqueId(778);
static constexpr const TSymbolUniqueId textureSize_SamplerExternal2DY2YEXT1_Int1 =
......@@ -1154,15 +1154,15 @@ class BuiltInId
static constexpr const TSymbolUniqueId fwidth_Float3 = TSymbolUniqueId(868);
static constexpr const TSymbolUniqueId fwidth_Float4 = TSymbolUniqueId(869);
static constexpr const TSymbolUniqueId atomicCounter_AtomicCounter1 = TSymbolUniqueId(870);
static constexpr const TSymbolUniqueId pt0F = TSymbolUniqueId(871);
static constexpr const TSymbolUniqueId pt00F = TSymbolUniqueId(871);
static constexpr const TSymbolUniqueId atomicCounterIncrement_AtomicCounter1 =
TSymbolUniqueId(872);
static constexpr const TSymbolUniqueId atomicCounterDecrement_AtomicCounter1 =
TSymbolUniqueId(873);
static constexpr const TSymbolUniqueId atomicAdd_UInt1_UInt1 = TSymbolUniqueId(874);
static constexpr const TSymbolUniqueId pt_io_0D = TSymbolUniqueId(875);
static constexpr const TSymbolUniqueId pt_io_00D = TSymbolUniqueId(875);
static constexpr const TSymbolUniqueId atomicAdd_Int1_Int1 = TSymbolUniqueId(876);
static constexpr const TSymbolUniqueId pt_io_0C = TSymbolUniqueId(877);
static constexpr const TSymbolUniqueId pt_io_00C = TSymbolUniqueId(877);
static constexpr const TSymbolUniqueId atomicMin_UInt1_UInt1 = TSymbolUniqueId(878);
static constexpr const TSymbolUniqueId atomicMin_Int1_Int1 = TSymbolUniqueId(879);
static constexpr const TSymbolUniqueId atomicMax_UInt1_UInt1 = TSymbolUniqueId(880);
......@@ -1178,29 +1178,29 @@ class BuiltInId
static constexpr const TSymbolUniqueId atomicCompSwap_UInt1_UInt1_UInt1 = TSymbolUniqueId(890);
static constexpr const TSymbolUniqueId atomicCompSwap_Int1_Int1_Int1 = TSymbolUniqueId(891);
static constexpr const TSymbolUniqueId imageSize_Image2D1 = TSymbolUniqueId(892);
static constexpr const TSymbolUniqueId pt0f = TSymbolUniqueId(893);
static constexpr const TSymbolUniqueId pt00f = TSymbolUniqueId(893);
static constexpr const TSymbolUniqueId imageSize_IImage2D1 = TSymbolUniqueId(894);
static constexpr const TSymbolUniqueId pt0g = TSymbolUniqueId(895);
static constexpr const TSymbolUniqueId pt00g = TSymbolUniqueId(895);
static constexpr const TSymbolUniqueId imageSize_UImage2D1 = TSymbolUniqueId(896);
static constexpr const TSymbolUniqueId pt0h = TSymbolUniqueId(897);
static constexpr const TSymbolUniqueId pt00h = TSymbolUniqueId(897);
static constexpr const TSymbolUniqueId imageSize_Image3D1 = TSymbolUniqueId(898);
static constexpr const TSymbolUniqueId pt0i = TSymbolUniqueId(899);
static constexpr const TSymbolUniqueId pt00i = TSymbolUniqueId(899);
static constexpr const TSymbolUniqueId imageSize_IImage3D1 = TSymbolUniqueId(900);
static constexpr const TSymbolUniqueId pt0j = TSymbolUniqueId(901);
static constexpr const TSymbolUniqueId pt00j = TSymbolUniqueId(901);
static constexpr const TSymbolUniqueId imageSize_UImage3D1 = TSymbolUniqueId(902);
static constexpr const TSymbolUniqueId pt0k = TSymbolUniqueId(903);
static constexpr const TSymbolUniqueId pt00k = TSymbolUniqueId(903);
static constexpr const TSymbolUniqueId imageSize_Image2DArray1 = TSymbolUniqueId(904);
static constexpr const TSymbolUniqueId pt0l = TSymbolUniqueId(905);
static constexpr const TSymbolUniqueId pt00l = TSymbolUniqueId(905);
static constexpr const TSymbolUniqueId imageSize_IImage2DArray1 = TSymbolUniqueId(906);
static constexpr const TSymbolUniqueId pt0m = TSymbolUniqueId(907);
static constexpr const TSymbolUniqueId pt00m = TSymbolUniqueId(907);
static constexpr const TSymbolUniqueId imageSize_UImage2DArray1 = TSymbolUniqueId(908);
static constexpr const TSymbolUniqueId pt0n = TSymbolUniqueId(909);
static constexpr const TSymbolUniqueId pt00n = TSymbolUniqueId(909);
static constexpr const TSymbolUniqueId imageSize_ImageCube1 = TSymbolUniqueId(910);
static constexpr const TSymbolUniqueId pt0o = TSymbolUniqueId(911);
static constexpr const TSymbolUniqueId pt00o = TSymbolUniqueId(911);
static constexpr const TSymbolUniqueId imageSize_IImageCube1 = TSymbolUniqueId(912);
static constexpr const TSymbolUniqueId pt0p = TSymbolUniqueId(913);
static constexpr const TSymbolUniqueId pt00p = TSymbolUniqueId(913);
static constexpr const TSymbolUniqueId imageSize_UImageCube1 = TSymbolUniqueId(914);
static constexpr const TSymbolUniqueId pt0q = TSymbolUniqueId(915);
static constexpr const TSymbolUniqueId pt00q = TSymbolUniqueId(915);
static constexpr const TSymbolUniqueId imageLoad_Image2D1_Int2 = TSymbolUniqueId(916);
static constexpr const TSymbolUniqueId imageLoad_IImage2D1_Int2 = TSymbolUniqueId(917);
static constexpr const TSymbolUniqueId imageLoad_UImage2D1_Int2 = TSymbolUniqueId(918);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -43,17 +43,24 @@ TEST(Type, VectorAndMatrixMangledNameConsistent)
// Verify that basic type mangled names are unique.
TEST(Type, BaseTypeMangledNamesUnique)
{
std::set<char> uniqueNames;
// Types have either a 0-prefix or a 1-prefix
std::set<char> uniqueNames0;
std::set<char> uniqueNames1;
for (int i = static_cast<int>(EbtVoid); i < static_cast<int>(EbtLast); ++i)
{
if (i == static_cast<int>(EbtStruct) || i == static_cast<int>(EbtInterfaceBlock))
{
continue;
}
char mangledName = GetBasicMangledName(static_cast<TBasicType>(i));
if (mangledName != '{')
TBasicMangledName typeName(static_cast<TBasicType>(i));
char *mangledName = typeName.getName();
static_assert(TBasicMangledName::mangledNameSize == 2, "Mangled name size is not 2");
if (mangledName[0] != '{')
{
ASSERT_TRUE(uniqueNames.insert(mangledName).second);
if (mangledName[0] == '0')
ASSERT_TRUE(uniqueNames0.insert(mangledName[1]).second);
if (mangledName[0] == '1')
ASSERT_TRUE(uniqueNames1.insert(mangledName[1]).second);
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment