blob: 4fa9cf90031a6ec5865efd4fc4a551f5e44f1a43 [file] [log] [blame]
// Copyright 2025 The Dawn & Tint Authors
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// 1. Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// 3. Neither the name of the copyright holder nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
// src/tint/cmd/bench/enums_core_bench.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
// clang-format off
#include <array>
#include "benchmark/benchmark.h"
#include "src/tint/lang/core/enums.h"
namespace tint::core {
namespace {
void AccessParser(::benchmark::State& state) {
const char* kStrings[] = {
"ccad",
"3",
"rVad",
"read",
"1ead",
"rqaJ",
"rlla77",
"reqqdppriHHe",
"rv_wcit",
"reabGwrte",
"read_write",
"read_vriite",
"re8d_wriWWe",
"Meadxxrite",
"wggte",
"VtX",
"writ3",
"write",
"writE",
"TTrPte",
"wxxidd",
};
for (auto _ : state) {
for (auto* str : kStrings) {
auto result = ParseAccess(str);
benchmark::DoNotOptimize(result);
}
}
} // NOLINT(readability/fn_size)
BENCHMARK(AccessParser);
void AddressSpaceParser(::benchmark::State& state) {
const char* kStrings[] = {
"44unction",
"fSSnctioVV",
"Rnc2Rion",
"function",
"uFc9ion",
"funtion",
"ROOuHciVn",
"imyedate",
"l77nnrrediaGe",
"im4edi00te",
"immediate",
"imoodte",
"imzzdiae",
"m11pediiit",
"pixel_lXXcal",
"pixII99l55local",
"pixaal_lSSrHHYl",
"pixel_local",
"iHkklocal",
"jRRxellgal",
"pxel_lobl",
"privaje",
"rivate",
"qvate",
"private",
"priNNte",
"rivtvv",
"QQivate",
"stffar",
"storaje",
"sNNwrag8",
"storage",
"stoage",
"srrorage",
"Gtorage",
"uniforFF",
"nifm",
"unrrorm",
"uniform",
"iform",
"DnfoJJm",
"un8r",
"orkgk1u",
"worgroup",
"Jorkgoup",
"workgroup",
"workgrcup",
"workgroOp",
"worttKK_rouvv",
};
for (auto _ : state) {
for (auto* str : kStrings) {
auto result = ParseAddressSpace(str);
benchmark::DoNotOptimize(result);
}
}
} // NOLINT(readability/fn_size)
BENCHMARK(AddressSpaceParser);
void AttributeParser(::benchmark::State& state) {
const char* kStrings[] = {
"alxxn",
"__qiF",
"aigqq",
"align",
"33l6gn",
"6QQottgn",
"a6ign",
"bnOizz66",
"bindyyng",
"ZiHHnZ",
"binding",
"4WWndqng",
"bOOding",
"oinYng",
"lend_s",
"blendsrF",
"blendwrc",
"blend_src",
"GedKsrff",
"KKlqnd_src",
"blenmm_s3c",
"uiltin",
"biltiq",
"builtbb",
"builtin",
"biltin",
"buOOltq",
"buiTvvtin",
"coFFor",
"00PfQ",
"coloP",
"color",
"col77s",
"colbbCr",
"colXXr",
"qoCCpuOOe",
"copstL",
"cXmpute",
"compute",
"compte",
"qopOt",
"compu22e",
"dyaXX0szzic",
"diVVgnitiP",
"dagCosnnic",
"diagnostic",
"agnostqqHHA",
"dignostic",
"difgnoKKt",
"frPggge",
"frament",
"TTragN4nc",
"fragment",
"prlgmen77",
"fzaNgent",
"bragmXXut",
"grou",
"88uK",
"gq9p",
"group",
"grou11",
"22oiip",
"ro77p",
"Nd",
"VVd",
"wW11",
"id",
"ww",
"Dd",
"K",
"ifput_11tPPachmhntrindex",
"input_atachment_index",
"inputYYattachment_index",
"input_attachment_index",
"intutVatkkachmenHHindex",
"irrput_attachment_index",
"isput_attachment_inWWex",
"inYerpolat",
"iqterLlfte",
"invver22uflte",
"interpolate",
"intrpolae",
"interpYlae",
"interyoYY77tE",
"Mnoodriat",
"invMMriat",
"invaria55t",
"invariant",
"Nariant",
"invari33n",
"invarian3",
"lmaIion",
"lrcatnKon",
"Xatio",
"location",
"loLLIion",
"lcafin",
"loUYRtDn",
"must_uhe",
"msqusuII",
"must_usH",
"must_use",
"vvQQstue",
"mus_66s",
"m7sO_se",
"055DDe",
"IIiHe",
"sze",
"size",
"sir",
"slze",
"JJGz",
"subgoup_syze",
"ubgroup_size",
"subIIroupBBsize",
"subgroup_size",
"su8gTToup_s33ze",
"dnnUUbgrouSSY_size",
"xCu5groupZsize",
"vqkrtex",
"5iirp00",
"vnnrIIex",
"vertex",
"cceKe",
"vrKK",
"ve66tex",
"wKKkgroEp_PPiz",
"xorkgroup_size",
"workgroqp_size",
"workgroup_size",
"rorkgroupyMMSize",
"wrgroup_uize",
"wrkgrouSsie",
};
for (auto _ : state) {
for (auto* str : kStrings) {
auto result = ParseAttribute(str);
benchmark::DoNotOptimize(result);
}
}
} // NOLINT(readability/fn_size)
BENCHMARK(AttributeParser);
void BuiltinTypeParser(::benchmark::State& state) {
const char* kStrings[] = {
"__atomic_cFFmpare_exchange_result_i52",
"__at4zmic_compare_exchange_resurrt_i32",
"__atWWic_ompare_exhange_result_i32",
"__atomic_compare_exchange_result_i32",
"__atomic_comZZare_JXxchange_result_C32",
"PP_atomic_compare_exchange_reslt_i32",
"__atomic_compare_exchange_resuct_i32",
"__a6llmic_comparePPexchange_result_u32",
"__a99omic_compare_xchanyye_result_u32",
"__atoKKic_compare_exchange_result_u32",
"__atomic_compare_exchange_result_u32",
"__atomic_xompareexchange__esult_u32",
"__atomi_compare_exhanyy_result_uK2",
"__atomic_compare_zxchangeVresukt_u32",
"__freqp_rKsult_abstract",
"__rexp_result_abstract",
"__frexpresult_abstrVVct",
"__frexp_result_abstract",
"__frAAUp_resIlt_abstract",
"jfrexp_result_astrabt",
"__44YYxp_resultabstrat",
"__frxp_result_f16",
"__frex11_rxxsul_f6",
"__frccxpmmresulJ_f",
"__frexp_result_f16",
"__freJJ_result_f16",
"_ffDDUxp_resulCClf16",
"__frexp_resultgf16",
"_frexp_rult_CC32",
"_frexp_result_f32",
"__freIp_res__lt_f32",
"__frexp_result_f32",
"__frttp_PPsult_f32",
"__frexp_resul3d_f32",
"_frexp_Kesultyyf32",
"__rexp_resultvec2_abstacu",
"__frexi_re3ult_venn2_abs0ract",
"__frexpKrenultuuvecCC_vbstract",
"__frexp_result_vec2_abstract",
"__frllxp_Xesult_ec2_abstract",
"__frexp_result_vec2_aostrppct",
"ww_frexp_result_vec2_abstrat",
"uu_fgxp_reslt_vec2mmf16",
"aa_frexpesmmltvec2_f16",
"__TrexRR_result_vecZ_cc16",
"__frexp_result_vec2_f16",
"__frexp_result_vec8T_fO6",
"__frexp_mesult00vec2_f16",
"m_frexp_result_vBBc2_f16",
"__frex_ppeslt_vecM_f32",
"__fexp_result_vOOc2_f32",
"__GGrexp_reult_Gec2_f32",
"__frexp_result_vec2_f32",
"__frex11_resulHH_vec2_f32",
"_eere6p_resulFF_vec2_f32",
"__frexpresult_vec2_f2",
"__friixplresult_vec3_abstrKct",
"__frexp_esult_vec3_abstract",
"__rexII_result99vec3_abvvtract",
"__frexp_result_vec3_abstract",
"__frexp_result_vec_abstract",
"__frhxp_result_vec3_abstract",
"__frexp_result_llec3_zzbtraPPt",
"_frexp_rsult_v3_f16",
"__frexp_reffulqq_vc3_f16",
"_ddreJJp_result_vec3_f16",
"__frexp_result_vec3_f16",
"__feXXp_result_vec_zz16",
"__frexp_result_ve23_16",
"__frexp_result_yyeN3_f16",
"__frexpresult_ve3_3OO",
"__fZePp_rusrlt_vec3_fE2",
"__freeepresddll_vec3_2232",
"__frexp_result_vec3_f32",
"mfrexp_r9sult_ec3_fVV2",
"__IIrexp1result_vec3_f3",
"__frexp_result_vec3_f3b",
"__frexp_result_e7i_abstrat",
"__frexp_oesult_vecii_abstract",
"__fxp_r5sult_vecn_abstract",
"__frexp_result_vec4_abstract",
"__frexp_resultvec4Sabstract",
"_22frexp_reslt_vec4_abstrct",
"__Grexp_result7vecC_abst11ac",
"__fre8ff_result_vec4_f16",
"__frexp_resultve4_f16",
"__frexp_resuJJSS_vec4_f16",
"__frexp_result_vec4_f16",
"__frep9esult_vec4_f16",
"__frexp_JJesulTT_vecbb_f16",
"_frexp_res66lt_vec4_16",
"__fre0p_r66sultuvec_f32",
"__frexp_resuyW_ec4_f32",
"__frep_result_vec_f32",
"__frexp_result_vec4_f32",
"__frxp_result_vec4_f32",
"__frexp_result_vec4rf32",
"__frexp_2esult_vec4_f3B",
"__modf_resultBBastract",
"RR_modf_reult_abstract",
"_LLmodf_resulVV0btract",
"__modf_result_abstract",
"__modOO_resltKKabstrac",
"__modw_rggsult_absract",
"__mod_resultLhabstrpct",
"_mKKdf_reEiultf16",
"_modf_result_f16",
"UU_mdf88result_f6",
"__modf_result_f16",
"__movvrr_result_f16",
"__mowf_mmesult_1",
"__m44df_rsultjf16",
"__modf_resulX_f32",
"8_modf_result_f32",
"EE_modf_reultvvf32",
"__modf_result_f32",
"__modziesult99f32",
"__modfJJresnlGG_QQ32",
"__modf_resultssf32",
"K_modf_result_Pec2_abstract",
"__modf_resut_vc2_abstrpttct",
"__modf_reult_vec2_abstrct",
"__modf_result_vec2_abstract",
"__modMM_result_vec2_abstract",
"__modf_result_vec2_absJ0ract",
"__modf_resul_vV2_ab8trac",
"__modfKrggsult_vec2_fhh6",
"__modf_result_vec2_ff6",
"__Qodf_re77ult_vec2_f16",
"__modf_result_vec2_f16",
"__modf_resultYYvc2_f16",
"__mofkresult_vecS_f16",
"__modf_resut_en2_f122",
"__modf_rsult_FFec2_f2",
"u_modf_resultUUvGGPP2_f3I",
"_amodfFresult_vec2EEfv",
"__modf_result_vec2_f32",
"e_DDof_rddsult_vec2_BB32",
"__Modf_reEEult_v55c2_cc3",
"_mKKdvresult_vc2_f32",
"__modf_Result_vec3_abstract",
"__modf_re9ut_vec3_abstract",
"__modf_result_ve3_abstract",
"__modf_result_vec3_abstract",
"aa_mdI_result_ec3_abstract",
"__77odf_result_vec3_abstract",
"__mIdf_result_vec3_abstract",
"__modf_result_vec_f16",
"__modf_reult_vec3_f16",
"__modf_rsult_vec3_f6",
"__modf_result_vec3_f16",
"__m33df_reXXulc_vec3_f16",
"__modf_resultveE3_f16",
"__modf_result_vecXXf16",
"__modxx_result_veB3_f32",
"_modfresultGGec3_f32",
"__modf_result_vec3_f366",
"__modf_result_vec3_f32",
"__0dv_result_veTT_f32",
"__mdfresukt_ve_f32",
"__mdf_reult_vec3_fpp2",
"__modf_result_vec11_abstrt",
"__Jodf_resulE_vec4BBybstract",
"_qmodx_IImsult_vec4_abstract",
"__modf_result_vec4_abstract",
"__modf_result_vec4_aFstrac",
"_modf_rYsult_vec4_abstract",
"__modh_reHHult_vec4_abstDact",
"__mHfreslt_ve224_f16",
"__mdf_reslt_vec4_f16",
"__modf_rsult_vec4_f16",
"__modf_result_vec4_f16",
"__mdf_result_vec4_f16",
"__modf_result_vec4_fdd6",
"__modf_result_OPc4_f16",
"_modabbresult_vec4_f3",
"__m00df_result_vec4_32",
"__modf_result_hec4_f32",
"__modf_result_vec4_f32",
"__modf_YYesult_veg4_32",
"__modf_result_Oec4_f32",
"_hmodfresult_vec_f32",
"fEppay",
"rrvy",
"arazz",
"array",
"arra",
"OiiJa",
"aGray",
"aTT22mic",
"ltomic",
"atbmic",
"atomic",
"atomiB",
"aPIIoXiS",
"atojjic",
"bccnding_a_ray",
"bndiS6xx_azzray",
"iing_array",
"binding_array",
"Nindi4g_vxxay",
"iAAdingpp00rra",
"byning_aeeya",
"bWWbl",
"MMtmol",
"d",
"bool",
"_oo",
"bEEoV",
"boo4",
"bVVfgeX",
"ouffVr",
"buffe",
"buffer",
"btfKKr",
"uGr",
"uafer",
"O6",
"G",
"f6",
"f16",
"99R16",
"12",
"YYvXR",
"2",
"XX5",
"3",
"f32",
"ppcc",
"v32",
"EESS",
"i",
"",
"i3w",
"i32",
"id992",
"99P",
"KK3",
"oDD",
"22",
"q",
"i8",
"0L",
"vv66",
"nr",
"ineeut_aachmxxnt",
"NNnput_aCCtOchment",
"input_attachmnt",
"input_attachment",
"inp4t_attacament",
"inNNut_attachmNNt",
"input_atachment",
"mux2",
"at2YSEE",
"m0t2x2",
"mat2x2",
"mataax2",
"mmm2qq",
"matx2",
"mUUx2E",
"mDDtK2f",
"mat2x0t_",
"mat2x2f",
"lApxf",
"mtMx2f",
"mat2xBBf",
"nnt99bbh",
"EEAA1x2h",
"m5662xTh",
"mat2x2h",
"Hat2x2h",
"xxHtx2h",
"mnyt2z2h",
"mat23",
"mktxH",
"atcx3",
"mat2x3",
"orrtx3",
"mtJJ3",
"0CCt2x",
"mAxFx99f",
"matcx3f",
"mat2S3f",
"mat2x3f",
"masoxBB",
"matx3f",
"matx3em",
"oPPtx3gQQ",
"Btx",
"mlKKN3h",
"mat2x3h",
"marrx3",
"atrpx3h",
"yPat2x3h",
"cc2ZZ4",
"mt24",
"m00t2x4",
"mat2x4",
"ssPBat24",
"ffwaJJxf",
"mIt2XX",
"2f",
"ma2x4f",
"utKKx4f",
"mat2x4f",
"ma442df",
"motpx4f",
"mathhjN4f",
"ma33UUEwwh",
"matxuh",
"Kaddxrrh",
"mat2x4h",
"2tt2PP4r",
"m1twwx4h",
"mat2xc1nn",
"mt3x2",
"mat32",
"aatSS6xI",
"mat3x2",
"EED3x2",
"ccatIVR",
"atx2",
"aaht32f",
"mLtSx2f",
"mfmm32",
"mat3x2f",
"mm4V2f",
"matx__",
"Qat2f",
"mdRRE3x2",
"m93x2h",
"at3C0",
"mat3x2h",
"t3x2z",
"ccat3x2h",
"at3x2Q_",
"ma3xt",
"EpptCCzzx3",
"mahh3dd3",
"mat3x3",
"_a66x77",
"mPt3x3",
"mwt3x3",
"uux3f",
"6at3XX3f",
"mR33f",
"mat3x3f",
"m33VV",
"mHHt3GG3f",
"mMtFF73f",
"9at3x3",
"at3x33",
"BBa3x3_",
"mat3x3h",
"matxBOOa",
"mat3AAh",
"maGG3yh",
"77a3xX",
"mFFttxK",
"mZZossUU4",
"mat3x4",
"mt3x4",
"mal3x4",
"mah3x4",
"mKtTTxk",
"ma3xwwf",
"mt3x4Kjj",
"mat3x4f",
"atxYYf",
"mat3EE4",
"QQat3x4f",
"lat3P",
"at3x4Hff",
"man3x4h",
"mat3x4h",
"matg46F",
"mhss8x4h",
"llFa3x4h",
"2t4002",
"mag4x2",
"eatx2",
"mat4x2",
"mft4x2",
"at4",
"matx2",
"qqt4x2f",
"AA42f",
"matx2v",
"mat4x2f",
"mjjt4xf",
"ZZat4x2f",
"mPIItO22f",
"mZZt4x2h",
"mat4x2nn",
"kkZa224x2h",
"mat4x2h",
"mat42h",
"ma4xR",
"mat4xqq9h",
"m77t4x3",
"at3x",
"macc4x3",
"mat4x3",
"RR14x3",
"mJJll4x",
"IaMM",
"7T6t4x3",
"mat4xQQJ",
"uu4x3f",
"mat4x3f",
"mat4f",
"m433qf",
"maxx4x3f",
"Nrr4h",
"a994x3h",
"at4x3",
"mat4x3h",
"mat4H3h",
"_at4x3h",
"m44t4x3h",
"mt4x4",
"jt4x4",
"matt4mEE4",
"mat4x4",
"t4x4",
"mrrt44",
"xatx4",
"zzt4x4",
"mat4x4e",
"au4pZ4f",
"mat4x4f",
"muuTT4x00",
"mvvxJJ",
"maQ4x4f",
"mC4R4h",
"aCx",
"ma4xPPpr",
"mat4x4h",
"muDDt4xxxh",
"YYlqamd4x4h",
"atFFx4__",
"NNGtr",
"Mlr",
"",
"ptr",
"xlq",
"tr",
"44a",
"WWGmpler",
"sjjmplr",
"sajjpler",
"sampler",
"sa1jer",
"sample",
"99ampler",
"samVVler_comparison",
"ZZampler_cmparxson",
"sampl33r_ompavvison",
"sampler_comparison",
"sampler9comparisos",
"samler_Fomparison",
"sampuer_compaeison",
"subgroup_mtIixlefKK",
"subgroJ_matrix_left",
"sXXCCgrouSS_matrix_left",
"subgroup_matrix_left",
"subgroup_matrWW66_ZZJft",
"ubgoup_mdmt5ix_left",
"subgroup_mUrBBBx_left",
"subgr0up_mJJtri11_result",
"subfroup_matrix_rettult",
"subgrXupmtttrix_rsult",
"subgroup_matrix_result",
"subgroLp_matrix_reswlt",
"su1group_matrix_result",
"subgroup_matrix_resuwwt",
"subgou_atrix_righee",
"subgroup_matrx_right",
"subgroup_matNNix_right",
"subgroup_matrix_right",
"__RRbgroup_matrix_riUUhl",
"sHbgroup_matrix_right",
"subgrour_maCCrix_right",
"exel_buffer",
"texppl_bdfIr",
"texel_bufer",
"texel_buffer",
"Lexel_bNfr",
"e_buffe",
"teGRRexx_uqqfer",
"texturS_GGd",
"88tucce_1d",
"texture_1",
"texture_1d",
"textte_ppd",
"qqFF0xture551d",
"txture_1d",
"textur2d",
"texOre_2d",
"textuHHe_2",
"texture_2d",
"66extureSS2O",
"tTTturddY_2d",
"textursg2d",
"texGGure_2d_array",
"teQQtOreI2ll_array",
"texture_2d_aray",
"texture_2d_array",
"texture_2d_arrray",
"texture2d_ar7yyy",
"tBBxtur22_2d_WrrYy",
"textyyVe_3d",
"x4ure_3",
"texture_ddd",
"texture_3d",
"texuVVez2d",
"teyyture_3d",
"tex__ure_Ad",
"texture_chhbe",
"ttvvre_cube",
"textureube",
"texture_cube",
"textoorsNNgube",
"textrmm_Zube",
"3extkecube",
"texAur_ffube_aRray",
"Wxturrr_cube_zzrry",
"texture_ubRR_aray",
"texture_cube_array",
"textMr88_cube_arraSS",
"txturRPPcubebbarray",
"textWWre_cubexxrray",
"texture_dptAAv_2d",
"tj44xXure_depth_2d",
"texture_depthf2d",
"texture_depth_2d",
"texAAureUepth_2OO",
"textur_ssept_2d",
"texbbure_depFsh_2d",
"texture_depth_2d_annraYY",
"teture_depth_2d_arrass",
"texture_depth_zzd_araq",
"texture_depth_2d_array",
"texture_deptNN_d_arrQ",
"texturekppdpth_2darray",
"texturs8_depLh_Jd_array",
"77exJure_depthff5TTbe",
"texure_d00pth_cubx",
"Ae1ture_deph_cube",
"texture_depth_cube",
"texture_depthcube",
"textuQQe_depth_ube",
"texture_weptiicbe",
"texture_depth_cube_arwway",
"texJJure_dephYh_cube_array",
"kexture_deptRR_cube_E7ay",
"texture_depth_cube_array",
"texture_depth_kuube_array",
"textureRdept_cube_trray",
"textrN_depth_cIIbe_array",
"texture_deptII_multisampled_d",
"texture_depthmultisamiiledE2d",
"textssre_depth_multisamped_2d",
"texture_depth_multisampled_2d",
"CCxture55Xepth_multisampled_2d",
"tex9ure_depth_multisampled_2d",
"texture_Xepth_mulisamped_2d",
"txture_eteIInal",
"texturz_external",
"texurAAzz22xternal",
"texture_external",
"textur_external",
"Fbbxtre_eternal",
"texture_MMxVernal",
"texturA_mwcmmisamplzzd_2d",
"texture_muOOtisampeQQ2d",
"texture_mbltisampled_2d",
"texture_multisampled_2d",
"texture_multisaCpleknn25",
"texture_multisaplyyKK_2rr",
"tAAture_multisampleT_2d",
"QQexture_sorage_1d",
"texture_t8rage_d",
"teture_stoaage_1d",
"texture_storage_1d",
"eeextbr_stccrage_1d",
"texLLure_Porage_1d",
"tetuWW_sUorage_1d",
"texture_stzzrage_2",
"text__re_soNa_2d",
"texture_storagea2d",
"texture_storage_2d",
"texre_stoBage_2d",
"zzexture_torge_2d",
"textureUaatorbge_HHd",
"texturesOo4ag_2d_array",
"textume_sGGrage_2d_array",
"texture_torage_2d_array",
"texture_storage_2d_array",
"texture_storazzeN2d_aG8ray",
"teture_storage_2d_array",
"textuxe_storaAAe_2d_array",
"tbbxture_suuorage_3d",
"tejjture_storage_3d",
"texturJJ_stoqqgccx3d",
"texture_storage_3d",
"teggtFe_torge_3d",
"textvre_soragA_3d",
"texture_storagcc_3d",
"BUU",
"uAAB",
"x16",
"u16",
"U8",
"uU8CC",
"u__6",
"UU2",
"32",
"uu77r",
"u32",
"ukk",
"ul2",
"32",
"Y3",
"u44",
"8",
"u8",
"urP88",
"8",
"",
"sae",
"vg",
"bece",
"vec2",
"rrp",
"YYe2",
"vc2",
"rCCcf",
"lecf",
"vec2ZZ",
"vec2f",
"tqm9MMf",
"veUf",
"vgc77n",
"vdddh",
"vEcaah",
"vecIIh",
"vec2h",
"RReZ2ll",
"vecNNkrr",
"vec",
"vc2i",
"veca",
"HHec2G",
"vec2i",
"cc2i",
"vB22nlli",
"vec25",
"eR2u",
"gec2u",
"ve2u",
"vec2u",
"vecpu",
"vecK99u",
"22Rcu",
"nnc3",
"eeeEE",
"3effH3",
"vec3",
"22Us6",
"vm0",
"vppN",
"ve63",
"oZWWV3f",
"vHHf",
"vec3f",
"vAcf",
"vTf",
"2ec3f",
"ve443W",
"8Z77",
"FeR3",
"vec3h",
"vebb3",
"ggce",
"UeSh",
"vZqNN",
"v9i",
"ccHMMi",
"vec3i",
"v3x",
"veXX",
"3i",
"veu",
"vecgg3u",
"rfe3u",
"vec3u",
"ve3u",
"vggc3D",
"v993Q",
"eec",
"ec4",
"IIec",
"vec4",
"ecq",
"o77O4",
"rrDD",
"vecjf",
"11ciiFf",
"jBcRRf",
"vec4f",
"vdAc_7f",
"4jj",
"xxkeo",
"veW4h",
"IQQN1h",
"veIh",
"vec4h",
"vjc4",
"e722",
"vEElc4g",
"ve74",
"vec66m88",
"a4i",
"vec4i",
"vE4i",
"hqi",
"vc4_",
"cr",
"veBB4",
"11nned4BB",
"vec4u",
"neFFu",
"mmBc4cc",
"vtt77u",
};
for (auto _ : state) {
for (auto* str : kStrings) {
auto result = ParseBuiltinType(str);
benchmark::DoNotOptimize(result);
}
}
} // NOLINT(readability/fn_size)
BENCHMARK(BuiltinTypeParser);
void BuiltinValueParser(::benchmark::State& state) {
const char* kStrings[] = {
"btryetrc_coord",
"barycentriKcoord",
"barycenFFrc_coonjd",
"barycentric_coord",
"baryentric_cE8r",
"barvcentric_coDDr",
"barycentrh55ocoorSS",
"clip_dstaZuues",
"clip_disPPa7ce55",
"clipSdistnckks",
"clip_distances",
"cFSp_disEEances",
"lip_yystancebb",
"lRp_ditances",
"rag_deT1h",
"frXgXdTh",
"f00ag_dpth",
"frag_depth",
"frag77dePth",
"fZagpdept",
"fbbag_PPtw",
"HH8bjjnss_facing",
"hront_facing",
"frxxntfacg",
"front_facing",
"frrQnt_acenB",
"front_faciJJg",
"ronw_fucig",
"globttl_invcatioZ_ixx",
"global_invov99tion_id",
"globalinocaton_d",
"global_invocation_id",
"glonnal_invocaffion_id",
"glob5l_invocation_id",
"global_invUcaJiou_Id",
"lobal_invocation_index",
"gFobal_invocation_indtx",
"global_invoc1tion_index",
"global_invocation_index",
"global_invDDcation_indAAx",
"goPal_ivoOation_index",
"gloal_invocation_index",
"instance_in77ex",
"i1mtUUnceAAindex",
"Xnstance_ifdeAA",
"instance_index",
"VVnstace_indvx",
"instance_ippdex",
"insTTance_index",
"locajj_i00vocakion_id",
"local_inocation_id",
"lyycalinvocation_id",
"local_invocation_id",
"locazz_invocYYion_id",
"local_iWvocationiiid",
"lc6l_7nvUU0ation_id",
"local_nvUUcation_inpe",
"local_ihvcatio_TTndex",
"loca5_invocatio_index",
"local_invocation_index",
"loal_1vcation_index",
"local_invocatimmnIin44ex",
"locaR_YnocatDDon_YYndex",
"numjjsubgroups",
"num_subgrous",
"num_subgQQodp",
"num_subgroups",
"num_s55bgroHs",
"nuk_suxFFroups",
"nrsubgroups",
"KKumN_orkgroups",
"numxworkgrTupa",
"nuvv_workgroups",
"num_workgroups",
"nujjworkgroups",
"num_wOOrknnoups",
"nggmOOwokgroups",
"powwiQion",
"poJiton",
"Dosition",
"position",
"positoOO",
"psition",
"psi00io",
"prlitive_ndeq",
"urimitive_index",
"primitive33index",
"primitive_index",
"primiive_indNNx",
"pimtive_iMdex",
"prbbmi22Re_index",
"sampii_index",
"saple_index",
"sapluindeoo",
"sample_index",
"samHHe_JUdx",
"smpyg_ihdggx",
"smle_WWndeBB",
"EEample_CEscc",
"Gaple_eeyysk",
"s44Umple_ak",
"sample_mask",
"samle_mask",
"sNmple_mask",
"sample_MMasss",
"sCbgDoup_id",
"subggrYTp_id",
"subgroujj_id",
"subgroup_id",
"sbgroupDDd",
"MEEubgrou_99d",
"sbgNoup_id",
"subgroup_i55vocation_id",
"Qubgroup_invocation_id",
"subgroup_innnocaion_id",
"subgroup_invocation_id",
"subgroFFpinvocaWWin_id",
"subgro66p_inwocation_id",
"subgroFp_vnvocation_id",
"uWgroup_size",
"subgrop_sze",
"5uboupKize",
"subgroup_size",
"subg4oup_size",
"gggroupPnnize",
"sUbgrou7SSie",
"verVex2index",
"vprtex_index",
"ver99VXx_inde2",
"vertex_index",
"erexindex",
"serte_deB",
"vere8inBBe8",
"AoACCkgrouy_id",
"woikvvBp_id",
"workgr44QQpAi",
"workgroup_id",
"workg44oZT_id",
"Xorlgroup_id",
"workgroupddd",
"workgrodd_ine",
"workgoip1idkex",
"woGGkgroupivde",
"workgroup_index",
"wokgroupjjinde",
"workgroup_in2ex",
"wokg00ouzinnex",
};
for (auto _ : state) {
for (auto* str : kStrings) {
auto result = ParseBuiltinValue(str);
benchmark::DoNotOptimize(result);
}
}
} // NOLINT(readability/fn_size)
BENCHMARK(BuiltinValueParser);
void InterpolationSamplingParser(::benchmark::State& state) {
const char* kStrings[] = {
"Gzter",
"ceUtr",
"cener",
"center",
"cnVnteV",
"ce__Y",
"cenHkeM",
"centrDziI",
"cendqoi",
"oetroih",
"centroid",
"cenlrFMMN",
"entroi",
"cen9ix",
"VVtner",
"iKhr",
"eithBC",
"either",
"ioher",
"eitwwc8Er",
"eitebb",
"f6rst",
"igg",
"i11EI",
"first",
"fist",
"pHirt",
"firqqat",
"smle",
"sxxxxXXl",
"zzaSSple",
"sample",
"sampe",
"smoo",
"saml",
};
for (auto _ : state) {
for (auto* str : kStrings) {
auto result = ParseInterpolationSampling(str);
benchmark::DoNotOptimize(result);
}
}
} // NOLINT(readability/fn_size)
BENCHMARK(InterpolationSamplingParser);
void InterpolationTypeParser(::benchmark::State& state) {
const char* kStrings[] = {
"fK",
"zzat",
"f8gga",
"flat",
"sjjat",
"1laAi",
"l66Vat",
"lne",
"mhGtear",
"ljiyyar",
"linear",
"QQ_inevt",
"lneLL",
"linWcc",
"Fverpcrive",
"persyyeczzve",
"eospectie",
"perspective",
"Ie_spectivc",
"persddctive",
"l2eMpectiv",
};
for (auto _ : state) {
for (auto* str : kStrings) {
auto result = ParseInterpolationType(str);
benchmark::DoNotOptimize(result);
}
}
} // NOLINT(readability/fn_size)
BENCHMARK(InterpolationTypeParser);
void TexelFormatParser(::benchmark::State& state) {
const char* kStrings[] = {
"Ogra8unorm",
"b66ra8KTTmrm",
"bgrRRnom",
"bgra8unorm",
"ra800o4m",
"bgn8unrqq",
"bgra8unorBB",
"r16f2WBaat",
"r16fjjoat",
"rt6HHlot",
"r16float",
"1JJflat",
"r1ooSlttat",
"rSS6far_",
"rWW6sint",
"r16sink",
"r1bbitt",
"r16sint",
"r16s1n",
"rf6siN",
"rii6iVt",
"r16snoUw",
"I6snorm",
"r886sLL4orm",
"r16snorm",
"r16snZZrm",
"r16snMMrm",
"r16sorm",
"rSSMMu6At",
"GGgxuinTT",
"r16uinI",
"r16uint",
"r16lint",
"rOO6ut",
"1aKi5t",
"r1__unzzR",
"P16unLLrm",
"r6unohhm",
"r16unorm",
"r16unrm",
"1unojm",
"r10oBB",
"rgLLfxxa",
"rMMIIfloat",
"rgF2loaX",
"r32float",
"zz32sspat",
"rr32fZZFat",
"r3flo00jt",
"p3wrrint",
"QZ2int",
"rn__snh",
"r32sint",
"r3wint",
"r32snt",
"C2sit",
"r32uiGGt",
"riilluiu2",
"r3ccvuint",
"r32uint",
"rv2jPnt",
"N3iuip",
"r32u2t",
"rqDsiJ",
"Q8int",
"8sJnt",
"r8sint",
"WW8sin",
"rggswQwt",
"r8sznt",
"rzzWnorm",
"rsno",
"998UUoqqm",
"r8snorm",
"EE8sRRom",
"r8snm",
"r8storm",
"rqnMM",
"BB8KKaanT",
"r8uiII5",
"r8uint",
"roBBwnt",
"PP__uint",
"rRRuint",
"r8uS",
"Qom",
"rHH88rm",
"r8unorm",
"r8YDnorm",
"r8unorO",
"8u8IIZrm",
"rY11b10uoloat",
"rg11b1ufloa0X",
"rgKKS1b10ulcat",
"rg11b10ufloat",
"rg11108GGfR33at",
"33g11qq10uXXloat",
"rg11z4ufloat",
"rWttWKlhhat",
"rg1rxoat",
"rg16CQeat",
"rg16float",
"g1rYloat",
"rg16xmloat",
"r1float",
"yyg16sin44y",
"rww1sint",
"rg16sBit",
"rg16sint",
"rgdd6ssint",
"rgMsinee",
"Tg16sint",
"rl018nrm",
"rs6161Lormm",
"rI1KGsnoYY",
"rg16snorm",
"Yg16sLoVV0",
"rg16ss2orm6",
"jjg16snor",
"ppg6u7",
"Ng16ui6t",
"rg16uinsgg",
"rg16uint",
"rg6uint",
"rg16JiOOt",
"MMg16uin00",
"mmg16MMnorm",
"rg16mqHrm",
"rG6unor88",
"rg16unorm",
"pgRRuwworm",
"rg16unqrm",
"rU1uno",
"rg32loQBM",
"rg32fl33at",
"Og333float",
"rg32float",
"gw2foat",
"rgAkkfMoat",
"rg3float",
"rd2it",
"rg55wXXsint",
"rg3sint",
"rg32sint",
"g3dint",
"dJJ2sit",
"rg3_int",
"rguinL",
"99g32unt",
"xU32uint",
"rg32uint",
"rg29int",
"vg32uint",
"rg32u2LLnt",
"fgsin1",
"rgAAsgn",
"8sUC",
"rg8sint",
"rnwsinzz",
"rg8MMVVnnt",
"NN8sXnt",
"r8snoWWe77",
"r338PPvvorm",
"rg8snjj22m",
"rg8snorm",
"AAg8sorm",
"rkkRRsnNr",
"rg8snorQQ",
"rg8inuu",
"8uuint",
"g8uit",
"rg8uint",
"r8Hint",
"SSdd8SSnt",
"rTT8uint",
"cm8untr",
"rg8hhnorm",
"rGunorm",
"rg8unorm",
"rwwHHAAbborm",
"rg8unBBrm",
"Mgunoh2m",
"rgb102uinWW",
"rgbqq0a2uint",
"rgb1ra2uUUt",
"rgb10a2uint",
"rgb10aEint",
"rgR10a2uiVVrr",
"rg33OGG0H2uit",
"rgb55a2uDrm",
"SSgb1Ba2unorm",
"rgbzz2anorm",
"rgb10a2unorm",
"rgb1066AAuno",
"g_w10a2norm",
"rgb10aunorm",
"rgbr16loat",
"rgba16flRRaG",
"KK1ba1LLfloxt",
"rgba16float",
"rgba16NWWlFat",
"rgba1GfoUt",
"r6bEEFF6flat",
"rgba19yyJTTnt",
"zgba16sit",
"rb16sinI",
"rgba16sint",
"gb16pt",
"ttgnn16sint",
"rgba1isiKt",
"rgbee16snorm",
"rgba11_snogm",
"rgba16snrm",
"rgba16snorm",
"rgbo16snm",
"rgb1Xpom",
"rgb6616snYss",
"r77ba1YuInt",
"rgbaSSeeuinG",
"rgbQluint",
"rgba16uint",
"ba16uint",
"rgba16u__nt",
"rgba16iDDt",
"gba16unom",
"rgbl516u1orm",
"rgbacuno4m",
"rgba16unorm",
"rgba16norm",
"11b61OOunorm",
"rgba16ors",
"rgXa32float",
"rgba32flo44w",
"rgba32flYYat",
"rgba32float",
"gba32float",
"rgba2ylTTt",
"rvbbb32foat",
"rgba32sikt",
"Vb532sin9",
"rajjRR2sint",
"rgba32sint",
"YYgb3277int",
"rbaLLJnt",
"rgnn2sint",
"rooba32ind",
"rba3Euibt",
"rba32uint",
"rgba32uint",
"rgbi31uAQt",
"rgba32SSvnt",
"gba3uin",
"rbbasqqsit",
"gba8si3",
"rnba8sHt",
"rgba8sint",
"rgba8mint",
"gbIIsiBt",
"gbaffsint",
"ra__a8snrm",
"rgasorm",
"ii4a8snorD",
"rgba8snorm",
"rgUa83nor",
"rgb8snorm",
"rgbasnoWWV",
"rgb8uint",
"Mgb8Eint",
"r8ba8ui577",
"rgba8uint",
"8zzgba8gint",
"rgbauuee",
"rfa8i",
"llgIa8QQnorm",
"rppTaSSuorXX",
"gb_vunorm",
"rgba8unorm",
"rga8norm",
"rgb38com",
"JJgba8uwW88m",
};
for (auto _ : state) {
for (auto* str : kStrings) {
auto result = ParseTexelFormat(str);
benchmark::DoNotOptimize(result);
}
}
} // NOLINT(readability/fn_size)
BENCHMARK(TexelFormatParser);
} // namespace
} // namespace tint::core
// clang-format on