tint/ast: Remove ast::Sampler

Instead use ast::TypeName.

Bug: tint:1810
Change-Id: Ia2641d661cab70d110c975d5f0d0e76628816cb0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119120
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Kokoro: Ben Clayton <bclayton@chromium.org>
This commit is contained in:
Ben Clayton
2023-02-09 23:56:42 +00:00
committed by Dawn LUCI CQ
parent c9aa57d039
commit ed3389faee
43 changed files with 969 additions and 799 deletions

View File

@@ -30,7 +30,7 @@ namespace tint::type {
namespace {
void AccessParser(::benchmark::State& state) {
std::array kStrings{
const char* kStrings[] = {
"ccad", "3", "rVad", "read", "1ead",
"rqaJ", "rlla77", "reqqdppriHHe", "rv_wcit", "reabGwrte",
"read_write", "read_vriite", "re8d_wriWWe", "Meadxxrite", "wggte",
@@ -38,7 +38,7 @@ void AccessParser(::benchmark::State& state) {
"wxxidd",
};
for (auto _ : state) {
for (auto& str : kStrings) {
for (auto* str : kStrings) {
auto result = ParseAccess(str);
benchmark::DoNotOptimize(result);
}

View File

@@ -30,7 +30,7 @@ namespace tint::type {
namespace {
void AddressSpaceParser(::benchmark::State& state) {
std::array kStrings{
const char* kStrings[] = {
"fccnctin", "ucti3", "functVon", "function", "1unction",
"unJtqqon", "llun77tion", "ppqqivtHH", "prcv", "bivaGe",
"private", "priviive", "8WWivate", "pxxvate", "pXh_cggnstant",
@@ -42,7 +42,7 @@ void AddressSpaceParser(::benchmark::State& state) {
"jgkrouRR", "wokroub",
};
for (auto _ : state) {
for (auto& str : kStrings) {
for (auto* str : kStrings) {
auto result = ParseAddressSpace(str);
benchmark::DoNotOptimize(result);
}

View File

@@ -94,6 +94,12 @@ Builtin ParseBuiltin(std::string_view str) {
if (str == "mat4x4h") {
return Builtin::kMat4X4H;
}
if (str == "sampler") {
return Builtin::kSampler;
}
if (str == "sampler_comparison") {
return Builtin::kSamplerComparison;
}
if (str == "u32") {
return Builtin::kU32;
}
@@ -184,6 +190,10 @@ std::ostream& operator<<(std::ostream& out, Builtin value) {
return out << "mat4x4f";
case Builtin::kMat4X4H:
return out << "mat4x4h";
case Builtin::kSampler:
return out << "sampler";
case Builtin::kSamplerComparison:
return out << "sampler_comparison";
case Builtin::kU32:
return out << "u32";
case Builtin::kVec2F:

View File

@@ -52,6 +52,8 @@ enum class Builtin {
kMat4X3H,
kMat4X4F,
kMat4X4H,
kSampler,
kSamplerComparison,
kU32,
kVec2F,
kVec2H,
@@ -78,11 +80,13 @@ std::ostream& operator<<(std::ostream& out, Builtin value);
Builtin ParseBuiltin(std::string_view str);
constexpr const char* kBuiltinStrings[] = {
"bool", "f16", "f32", "i32", "mat2x2f", "mat2x2h", "mat2x3f",
"mat2x3h", "mat2x4f", "mat2x4h", "mat3x2f", "mat3x2h", "mat3x3f", "mat3x3h",
"mat3x4f", "mat3x4h", "mat4x2f", "mat4x2h", "mat4x3f", "mat4x3h", "mat4x4f",
"mat4x4h", "u32", "vec2f", "vec2h", "vec2i", "vec2u", "vec3f",
"vec3h", "vec3i", "vec3u", "vec4f", "vec4h", "vec4i", "vec4u",
"bool", "f16", "f32", "i32", "mat2x2f", "mat2x2h",
"mat2x3f", "mat2x3h", "mat2x4f", "mat2x4h", "mat3x2f", "mat3x2h",
"mat3x3f", "mat3x3h", "mat3x4f", "mat3x4h", "mat4x2f", "mat4x2h",
"mat4x3f", "mat4x3h", "mat4x4f", "mat4x4h", "sampler", "sampler_comparison",
"u32", "vec2f", "vec2h", "vec2i", "vec2u", "vec3f",
"vec3h", "vec3i", "vec3u", "vec4f", "vec4h", "vec4i",
"vec4u",
};
} // namespace tint::type

View File

@@ -30,51 +30,269 @@ namespace tint::type {
namespace {
void BuiltinParser(::benchmark::State& state) {
std::array kStrings{
"ccol", "3", "bVol", "bool", "1ool", "bqoJ",
"bllo77", "fppqH", "", "Gb", "f16", "f1vi",
"f8WW", "fxx", "fgg", "X", "332", "f32",
"fE2", "fPTT", "dxx2", "4432", "iSVV2", "RR2",
"i32", "92", "i3", "VOR2", "ma2xyf", "llnarr2772f",
"mat24200", "mat2x2f", "a2oof", "zz2x2f", "miitppx1", "mat2xXXh",
"9II5ann2x2h", "mataSSrHHYh", "mat2x2h", "makkh", "jatgRx", "mb2x2",
"mat2xjf", "at2x3f", "q2x3f", "mat2x3f", "matNN3f", "at23vv",
"QQt2x3f", "maffxr", "mat2xjh", "mNNw2x38", "mat2x3h", "matx3h",
"mrrt2x3h", "Gat2x3h", "mat2x4FF", "at2f", "marrx4f", "mat2x4f",
"t2x4f", "Da2xJJf", "ma84", "m11k4", "matx4h", "maJx4h",
"mat2x4h", "mat2c4h", "mat2x4O", "KK_atvvtt4h", "xx83x2f", "__qatF2",
"matqx2f", "mat3x2f", "33atOx2f", "mtt63x9oQQ", "ma3x66f", "mtOxzz66",
"mat3yy2h", "ZaHH2Z", "mat3x2h", "4WWt3q2h", "mOO3x2h", "oatY2h",
"matx", "ma3xFf", "at3x3w", "mat3x3f", "fGtxKf", "matqKx3f",
"matmmxFf", "at3x3h", "mt3x3q", "mat3xbb", "mat3x3h", "mi3x3h",
"maOO3xq", "matTvvx3h", "maFF3x4f", "Pa00xQf", "mPt3x4f", "mat3x4f",
"ma773xss", "RRCbb3x4f", "mXXt3x4f", "qaCC3xOOh", "ma3s4L", "mXt3x4h",
"mat3x4h", "mat34h", "qa3O4", "mat3x22h", "myzz40XX", "matVViP",
"mannC2f", "mat4x2f", "atx2AHHq", "mat4x2", "fatK2f", "ltgg2h",
"mat4xh", "NTTtcx4h", "mat4x2h", "ma7ppl2h", "mNNt4xg", "uub4XX2h",
"matx3f", "Qt883f", "mt9q3f", "mat4x3f", "m11t4x3f", "22at4iif",
"at4x377", "m2t4xNh", "mVVt4x3h", "FaWW4w11h", "mat4x3h", "mawwx3h",
"Dat4x3h", "mt4x3K", "mat41PPhf", "mat44f", "mYYt4x4f", "mat4x4f",
"mttHH4kk", "mat4rr4f", "WWas4x4f", "Yt4x4h", "mt4qfh", "mav224xuh",
"mat4x4h", "t4x4h", "YYat4h", "may4x4EYY", "Mo2", "uMM",
"u552", "u32", "N", "333", "u33", "mecI",
"vrnK2f", "v2", "vec2f", "ILLcf", "ecf", "UecRY",
"vechh", "qeIIu", "Hec2h", "vec2h", "eQQvv", "e66h",
"7Wc2", "ve055DD", "IIec2i", "vec2", "vec2i", "rec2",
"lec2i", "GeJ2i", "ey2u", "vc2u", "IIeBB2u", "vec2u",
"TTec338", "veUUSS2nnd", "vZx5CC", "kkec3q", "v005if", "vnIIc3f",
"vec3f", "cceW", "cKK", "vec66f", "vePPK", "vexxh",
"qec3h", "vec3h", "veSyMMr", "v3u", "ec", "5eFF3i",
"rrecz44", "vWW", "vec3i", "XJecCZZ", "vePP3", "vec3c",
"ve6ll3u", "vcyy99", "Jec3KK", "vec3u", "_ex3", "Ky3",
"zek3u", "veKSf", "vc4f", "ec4VV", "vec4f", "IAAc4f",
"jbR", "veY4", "ec4h", "vc911", "mmcch", "vec4h",
"vJJch", "lDDcUfC", "vec4g", "CCe", "ec4i", "vIc__i",
"vec4i", "ePPtt", "v3dc4i", "vcyyi", "u4", "v03nnu",
"Cuuecnv", "vec4u", "vX4ll", "vocppu", "vwwc4",
const char* kStrings[] = {
"ccol",
"3",
"bVol",
"bool",
"1ool",
"bqoJ",
"bllo77",
"fppqH",
"",
"Gb",
"f16",
"f1vi",
"f8WW",
"fxx",
"fgg",
"X",
"332",
"f32",
"fE2",
"fPTT",
"dxx2",
"4432",
"iSVV2",
"RR2",
"i32",
"92",
"i3",
"VOR2",
"ma2xyf",
"llnarr2772f",
"mat24200",
"mat2x2f",
"a2oof",
"zz2x2f",
"miitppx1",
"mat2xXXh",
"9II5ann2x2h",
"mataSSrHHYh",
"mat2x2h",
"makkh",
"jatgRx",
"mb2x2",
"mat2xjf",
"at2x3f",
"q2x3f",
"mat2x3f",
"matNN3f",
"at23vv",
"QQt2x3f",
"maffxr",
"mat2xjh",
"mNNw2x38",
"mat2x3h",
"matx3h",
"mrrt2x3h",
"Gat2x3h",
"mat2x4FF",
"at2f",
"marrx4f",
"mat2x4f",
"t2x4f",
"Da2xJJf",
"ma84",
"m11k4",
"matx4h",
"maJx4h",
"mat2x4h",
"mat2c4h",
"mat2x4O",
"KK_atvvtt4h",
"xx83x2f",
"__qatF2",
"matqx2f",
"mat3x2f",
"33atOx2f",
"mtt63x9oQQ",
"ma3x66f",
"mtOxzz66",
"mat3yy2h",
"ZaHH2Z",
"mat3x2h",
"4WWt3q2h",
"mOO3x2h",
"oatY2h",
"matx",
"ma3xFf",
"at3x3w",
"mat3x3f",
"fGtxKf",
"matqKx3f",
"matmmxFf",
"at3x3h",
"mt3x3q",
"mat3xbb",
"mat3x3h",
"mi3x3h",
"maOO3xq",
"matTvvx3h",
"maFF3x4f",
"Pa00xQf",
"mPt3x4f",
"mat3x4f",
"ma773xss",
"RRCbb3x4f",
"mXXt3x4f",
"qaCC3xOOh",
"ma3s4L",
"mXt3x4h",
"mat3x4h",
"mat34h",
"qa3O4",
"mat3x22h",
"myzz40XX",
"matVViP",
"mannC2f",
"mat4x2f",
"atx2AHHq",
"mat4x2",
"fatK2f",
"ltgg2h",
"mat4xh",
"NTTtcx4h",
"mat4x2h",
"ma7ppl2h",
"mNNt4xg",
"uub4XX2h",
"matx3f",
"Qt883f",
"mt9q3f",
"mat4x3f",
"m11t4x3f",
"22at4iif",
"at4x377",
"m2t4xNh",
"mVVt4x3h",
"FaWW4w11h",
"mat4x3h",
"mawwx3h",
"Dat4x3h",
"mt4x3K",
"mat41PPhf",
"mat44f",
"mYYt4x4f",
"mat4x4f",
"mttHH4kk",
"mat4rr4f",
"WWas4x4f",
"Yt4x4h",
"mt4qfh",
"mav224xuh",
"mat4x4h",
"t4x4h",
"YYat4h",
"may4x4EYY",
"daplMor",
"samMMle",
"sampl55r",
"sampler",
"saNpe",
"sa3Ol33",
"s3mpler",
"Iamplercomparismn",
"sampleKrcompannison",
"samlr_copXXison",
"sampler_comparison",
"samplpLL_comparisI",
"smplerfomparison",
"sYmpURDr_comprison",
"u3h",
"IIq",
"u3H",
"u32",
"Qvv",
"66",
"73",
"ve055DD",
"IIec2f",
"vec2",
"vec2f",
"rec2",
"lec2f",
"GeJ2f",
"ey2h",
"vc2h",
"IIeBB2h",
"vec2h",
"TTec338",
"veUUSS2nnd",
"vZx5CC",
"kkec2q",
"v005ii",
"vnIIc2i",
"vec2i",
"cceW",
"cKK",
"vec66i",
"vePPK",
"vexxu",
"qec2u",
"vec2u",
"veSyMMr",
"v2u",
"ec",
"5eFF3f",
"rrecz44",
"vWW",
"vec3f",
"XJecCZZ",
"vePP3",
"vec3c",
"ve6ll3h",
"vcyy99",
"Jec3KK",
"vec3h",
"_ex3",
"Ky3",
"zek3h",
"veKSi",
"vc3i",
"ec3VV",
"vec3i",
"IAAc3i",
"jbR",
"veY4",
"ec3u",
"vc911",
"mmccu",
"vec3u",
"vJJcu",
"lDDcUfC",
"vec3g",
"CCe",
"ec4f",
"vIc__f",
"vec4f",
"ePPtt",
"v3dc4f",
"vcyyf",
"u4",
"v03nnh",
"Cuuecnv",
"vec4h",
"vX4ll",
"vocpph",
"vwwc4",
"veuug",
"vaac",
"TRZccci",
"vec4i",
"vTc4O8",
"vem04i",
"meBB4i",
"Mpp4",
"OOe4u",
"veG4G",
"vec4u",
"11eHH4u",
"veFFe6",
"ve4",
};
for (auto _ : state) {
for (auto& str : kStrings) {
for (auto* str : kStrings) {
auto result = ParseBuiltin(str);
benchmark::DoNotOptimize(result);
}

View File

@@ -43,74 +43,139 @@ inline std::ostream& operator<<(std::ostream& out, Case c) {
}
static constexpr Case kValidCases[] = {
{"bool", Builtin::kBool}, {"f16", Builtin::kF16}, {"f32", Builtin::kF32},
{"i32", Builtin::kI32}, {"mat2x2f", Builtin::kMat2X2F}, {"mat2x2h", Builtin::kMat2X2H},
{"mat2x3f", Builtin::kMat2X3F}, {"mat2x3h", Builtin::kMat2X3H}, {"mat2x4f", Builtin::kMat2X4F},
{"mat2x4h", Builtin::kMat2X4H}, {"mat3x2f", Builtin::kMat3X2F}, {"mat3x2h", Builtin::kMat3X2H},
{"mat3x3f", Builtin::kMat3X3F}, {"mat3x3h", Builtin::kMat3X3H}, {"mat3x4f", Builtin::kMat3X4F},
{"mat3x4h", Builtin::kMat3X4H}, {"mat4x2f", Builtin::kMat4X2F}, {"mat4x2h", Builtin::kMat4X2H},
{"mat4x3f", Builtin::kMat4X3F}, {"mat4x3h", Builtin::kMat4X3H}, {"mat4x4f", Builtin::kMat4X4F},
{"mat4x4h", Builtin::kMat4X4H}, {"u32", Builtin::kU32}, {"vec2f", Builtin::kVec2F},
{"vec2h", Builtin::kVec2H}, {"vec2i", Builtin::kVec2I}, {"vec2u", Builtin::kVec2U},
{"vec3f", Builtin::kVec3F}, {"vec3h", Builtin::kVec3H}, {"vec3i", Builtin::kVec3I},
{"vec3u", Builtin::kVec3U}, {"vec4f", Builtin::kVec4F}, {"vec4h", Builtin::kVec4H},
{"vec4i", Builtin::kVec4I}, {"vec4u", Builtin::kVec4U},
{"bool", Builtin::kBool}, {"f16", Builtin::kF16},
{"f32", Builtin::kF32}, {"i32", Builtin::kI32},
{"mat2x2f", Builtin::kMat2X2F}, {"mat2x2h", Builtin::kMat2X2H},
{"mat2x3f", Builtin::kMat2X3F}, {"mat2x3h", Builtin::kMat2X3H},
{"mat2x4f", Builtin::kMat2X4F}, {"mat2x4h", Builtin::kMat2X4H},
{"mat3x2f", Builtin::kMat3X2F}, {"mat3x2h", Builtin::kMat3X2H},
{"mat3x3f", Builtin::kMat3X3F}, {"mat3x3h", Builtin::kMat3X3H},
{"mat3x4f", Builtin::kMat3X4F}, {"mat3x4h", Builtin::kMat3X4H},
{"mat4x2f", Builtin::kMat4X2F}, {"mat4x2h", Builtin::kMat4X2H},
{"mat4x3f", Builtin::kMat4X3F}, {"mat4x3h", Builtin::kMat4X3H},
{"mat4x4f", Builtin::kMat4X4F}, {"mat4x4h", Builtin::kMat4X4H},
{"sampler", Builtin::kSampler}, {"sampler_comparison", Builtin::kSamplerComparison},
{"u32", Builtin::kU32}, {"vec2f", Builtin::kVec2F},
{"vec2h", Builtin::kVec2H}, {"vec2i", Builtin::kVec2I},
{"vec2u", Builtin::kVec2U}, {"vec3f", Builtin::kVec3F},
{"vec3h", Builtin::kVec3H}, {"vec3i", Builtin::kVec3I},
{"vec3u", Builtin::kVec3U}, {"vec4f", Builtin::kVec4F},
{"vec4h", Builtin::kVec4H}, {"vec4i", Builtin::kVec4I},
{"vec4u", Builtin::kVec4U},
};
static constexpr Case kInvalidCases[] = {
{"ccol", Builtin::kUndefined}, {"3", Builtin::kUndefined},
{"bVol", Builtin::kUndefined}, {"116", Builtin::kUndefined},
{"qJ6", Builtin::kUndefined}, {"f17ll", Builtin::kUndefined},
{"fppqH", Builtin::kUndefined}, {"", Builtin::kUndefined},
{"Gb", Builtin::kUndefined}, {"i3vi", Builtin::kUndefined},
{"i8WW", Builtin::kUndefined}, {"ixx", Builtin::kUndefined},
{"mX2x2gg", Builtin::kUndefined}, {"a2xXf", Builtin::kUndefined},
{"mat232f", Builtin::kUndefined}, {"Eat2x2h", Builtin::kUndefined},
{"mPTT2x2h", Builtin::kUndefined}, {"mat2xdxx", Builtin::kUndefined},
{"m44t2x3f", Builtin::kUndefined}, {"maSS2xVVf", Builtin::kUndefined},
{"RatR22f", Builtin::kUndefined}, {"mF2x9h", Builtin::kUndefined},
{"matx3h", Builtin::kUndefined}, {"VOORRH3h", Builtin::kUndefined},
{"ma2xyf", Builtin::kUndefined}, {"llnarr2774f", Builtin::kUndefined},
{"mat24400", Builtin::kUndefined}, {"a2ooh", Builtin::kUndefined},
{"zz2x4h", Builtin::kUndefined}, {"miitppx1", Builtin::kUndefined},
{"mat3xXXf", Builtin::kUndefined}, {"9II5ann3x2f", Builtin::kUndefined},
{"mataSSrHHYf", Builtin::kUndefined}, {"makkh", Builtin::kUndefined},
{"jatgRx", Builtin::kUndefined}, {"mb3x2", Builtin::kUndefined},
{"mat3xjf", Builtin::kUndefined}, {"at3x3f", Builtin::kUndefined},
{"q3x3f", Builtin::kUndefined}, {"matNN3h", Builtin::kUndefined},
{"at33vv", Builtin::kUndefined}, {"QQt3x3h", Builtin::kUndefined},
{"maffxr", Builtin::kUndefined}, {"mat3xjf", Builtin::kUndefined},
{"mNNw3x48", Builtin::kUndefined}, {"matx4h", Builtin::kUndefined},
{"mrrt3x4h", Builtin::kUndefined}, {"Gat3x4h", Builtin::kUndefined},
{"mat4x2FF", Builtin::kUndefined}, {"at4f", Builtin::kUndefined},
{"marrx2f", Builtin::kUndefined}, {"t4x2h", Builtin::kUndefined},
{"Da4xJJh", Builtin::kUndefined}, {"ma82", Builtin::kUndefined},
{"m11k3", Builtin::kUndefined}, {"matx3f", Builtin::kUndefined},
{"maJx3f", Builtin::kUndefined}, {"mat4c3h", Builtin::kUndefined},
{"mat4x3O", Builtin::kUndefined}, {"KK_atvvtt3h", Builtin::kUndefined},
{"xx84x4f", Builtin::kUndefined}, {"__qatF4", Builtin::kUndefined},
{"matqx4f", Builtin::kUndefined}, {"33atOx4h", Builtin::kUndefined},
{"mtt64x9oQQ", Builtin::kUndefined}, {"ma4x66h", Builtin::kUndefined},
{"zzO6", Builtin::kUndefined}, {"uyy2", Builtin::kUndefined},
{"HZ", Builtin::kUndefined}, {"ecWq4f", Builtin::kUndefined},
{"vOO2f", Builtin::kUndefined}, {"oYe2", Builtin::kUndefined},
{"v2", Builtin::kUndefined}, {"Fe2h", Builtin::kUndefined},
{"vwch", Builtin::kUndefined}, {"vefi", Builtin::kUndefined},
{"KKeq2i", Builtin::kUndefined}, {"vFmm2i", Builtin::kUndefined},
{"vecu", Builtin::kUndefined}, {"qc2u", Builtin::kUndefined},
{"vecbb", Builtin::kUndefined}, {"iic3", Builtin::kUndefined},
{"vqOOf", Builtin::kUndefined}, {"vevvTTf", Builtin::kUndefined},
{"veFF3h", Builtin::kUndefined}, {"00PfQ", Builtin::kUndefined},
{"vec3P", Builtin::kUndefined}, {"vec77s", Builtin::kUndefined},
{"vecbbCi", Builtin::kUndefined}, {"vecXXi", Builtin::kUndefined},
{"CCOOec3", Builtin::kUndefined}, {"vs3u", Builtin::kUndefined},
{"Xec3u", Builtin::kUndefined}, {"ve4f", Builtin::kUndefined},
{"qq4", Builtin::kUndefined}, {"vec422", Builtin::kUndefined},
{"vezzXy", Builtin::kUndefined}, {"ieVVP", Builtin::kUndefined},
{"venCh", Builtin::kUndefined}, {"vHc4Aq", Builtin::kUndefined},
{"ve4i", Builtin::kUndefined}, {"vefK", Builtin::kUndefined},
{"vgg4", Builtin::kUndefined}, {"vecu", Builtin::kUndefined},
{"4TNc4u", Builtin::kUndefined},
{"ccol", Builtin::kUndefined},
{"3", Builtin::kUndefined},
{"bVol", Builtin::kUndefined},
{"116", Builtin::kUndefined},
{"qJ6", Builtin::kUndefined},
{"f17ll", Builtin::kUndefined},
{"fppqH", Builtin::kUndefined},
{"", Builtin::kUndefined},
{"Gb", Builtin::kUndefined},
{"i3vi", Builtin::kUndefined},
{"i8WW", Builtin::kUndefined},
{"ixx", Builtin::kUndefined},
{"mX2x2gg", Builtin::kUndefined},
{"a2xXf", Builtin::kUndefined},
{"mat232f", Builtin::kUndefined},
{"Eat2x2h", Builtin::kUndefined},
{"mPTT2x2h", Builtin::kUndefined},
{"mat2xdxx", Builtin::kUndefined},
{"m44t2x3f", Builtin::kUndefined},
{"maSS2xVVf", Builtin::kUndefined},
{"RatR22f", Builtin::kUndefined},
{"mF2x9h", Builtin::kUndefined},
{"matx3h", Builtin::kUndefined},
{"VOORRH3h", Builtin::kUndefined},
{"ma2xyf", Builtin::kUndefined},
{"llnarr2774f", Builtin::kUndefined},
{"mat24400", Builtin::kUndefined},
{"a2ooh", Builtin::kUndefined},
{"zz2x4h", Builtin::kUndefined},
{"miitppx1", Builtin::kUndefined},
{"mat3xXXf", Builtin::kUndefined},
{"9II5ann3x2f", Builtin::kUndefined},
{"mataSSrHHYf", Builtin::kUndefined},
{"makkh", Builtin::kUndefined},
{"jatgRx", Builtin::kUndefined},
{"mb3x2", Builtin::kUndefined},
{"mat3xjf", Builtin::kUndefined},
{"at3x3f", Builtin::kUndefined},
{"q3x3f", Builtin::kUndefined},
{"matNN3h", Builtin::kUndefined},
{"at33vv", Builtin::kUndefined},
{"QQt3x3h", Builtin::kUndefined},
{"maffxr", Builtin::kUndefined},
{"mat3xjf", Builtin::kUndefined},
{"mNNw3x48", Builtin::kUndefined},
{"matx4h", Builtin::kUndefined},
{"mrrt3x4h", Builtin::kUndefined},
{"Gat3x4h", Builtin::kUndefined},
{"mat4x2FF", Builtin::kUndefined},
{"at4f", Builtin::kUndefined},
{"marrx2f", Builtin::kUndefined},
{"t4x2h", Builtin::kUndefined},
{"Da4xJJh", Builtin::kUndefined},
{"ma82", Builtin::kUndefined},
{"m11k3", Builtin::kUndefined},
{"matx3f", Builtin::kUndefined},
{"maJx3f", Builtin::kUndefined},
{"mat4c3h", Builtin::kUndefined},
{"mat4x3O", Builtin::kUndefined},
{"KK_atvvtt3h", Builtin::kUndefined},
{"xx84x4f", Builtin::kUndefined},
{"__qatF4", Builtin::kUndefined},
{"matqx4f", Builtin::kUndefined},
{"33atOx4h", Builtin::kUndefined},
{"mtt64x9oQQ", Builtin::kUndefined},
{"ma4x66h", Builtin::kUndefined},
{"smOlzz66", Builtin::kUndefined},
{"sampyyer", Builtin::kUndefined},
{"ZaHHeZ", Builtin::kUndefined},
{"sWWpleq_compari44on", Builtin::kUndefined},
{"sampler_compaisoOO", Builtin::kUndefined},
{"smpeoo_coYparison", Builtin::kUndefined},
{"", Builtin::kUndefined},
{"u3", Builtin::kUndefined},
{"3w", Builtin::kUndefined},
{"veff", Builtin::kUndefined},
{"KKeq2f", Builtin::kUndefined},
{"vFmm2f", Builtin::kUndefined},
{"vech", Builtin::kUndefined},
{"qc2h", Builtin::kUndefined},
{"vecbb", Builtin::kUndefined},
{"iic2", Builtin::kUndefined},
{"vqOOi", Builtin::kUndefined},
{"vevvTTi", Builtin::kUndefined},
{"veFF2u", Builtin::kUndefined},
{"00PfQ", Builtin::kUndefined},
{"vec2P", Builtin::kUndefined},
{"vec77s", Builtin::kUndefined},
{"vecbbCf", Builtin::kUndefined},
{"vecXXf", Builtin::kUndefined},
{"CCOOec3", Builtin::kUndefined},
{"vs3u", Builtin::kUndefined},
{"Xec3h", Builtin::kUndefined},
{"ve3i", Builtin::kUndefined},
{"qq3", Builtin::kUndefined},
{"vec322", Builtin::kUndefined},
{"vezzXy", Builtin::kUndefined},
{"ieVVP", Builtin::kUndefined},
{"venCu", Builtin::kUndefined},
{"vHc4Aq", Builtin::kUndefined},
{"ve4f", Builtin::kUndefined},
{"vefK", Builtin::kUndefined},
{"vgg4", Builtin::kUndefined},
{"vech", Builtin::kUndefined},
{"4TNc4h", Builtin::kUndefined},
{"ppec7l", Builtin::kUndefined},
{"zNe4i", Builtin::kUndefined},
{"uXXb4i", Builtin::kUndefined},
{"vec4", Builtin::kUndefined},
{"884K", Builtin::kUndefined},
{"vq9u", Builtin::kUndefined},
};
using BuiltinParseTest = testing::TestWithParam<Case>;

View File

@@ -30,7 +30,7 @@ namespace tint::type {
namespace {
void TexelFormatParser(::benchmark::State& state) {
std::array kStrings{
const char* kStrings[] = {
"bgraunccrm", "blranr3", "bVra8unorm", "bgra8unorm", "bgra1unorm",
"bgrJqqnorm", "bgr7ll8unorm", "qq32lppHat", "c2fov", "r32Goat",
"r32float", "r3viiloat", "r3WWflo8t", "rxxfMoat", "rXsingg",
@@ -57,7 +57,7 @@ void TexelFormatParser(::benchmark::State& state) {
"rgba8unorm", "ba8unoqqHHA", "rga8unorm", "rgfa8uKKo",
};
for (auto _ : state) {
for (auto& str : kStrings) {
for (auto* str : kStrings) {
auto result = ParseTexelFormat(str);
benchmark::DoNotOptimize(result);
}