| // Copyright 2022 The Tint Authors. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| //////////////////////////////////////////////////////////////////////////////// |
| // File generated by tools/src/cmd/gen |
| // using the template: |
| // src/tint/ast/texel_format_bench.cc.tmpl |
| // |
| // Do not modify this file directly |
| //////////////////////////////////////////////////////////////////////////////// |
| |
| #include "src/tint/ast/texel_format.h" |
| |
| #include <array> |
| |
| #include "benchmark/benchmark.h" |
| |
| namespace tint::ast { |
| namespace { |
| |
| void TexelFormatParser(::benchmark::State& state) { |
| std::array kStrings{ |
| "rgbaunccrm", |
| "rlbanr3", |
| "rVba8unorm", |
| "rgba8unorm", |
| "rgba1unorm", |
| "rgbJqqnorm", |
| "rgb7ll8unorm", |
| "rgqqappnoHHm", |
| "rv8scor", |
| "rgbbGsnrm", |
| "rgba8snorm", |
| "rgba8vniirm", |
| "rg8a8snoWWm", |
| "Mgbaxxnorm", |
| "rXa8uggnt", |
| "rgbXVut", |
| "3gba8uint", |
| "rgba8uint", |
| "rgba8uiEt", |
| "rgTTPauint", |
| "ddgbauixxt", |
| "44gba8sint", |
| "VVgbaSSsint", |
| "rba8si2Rt", |
| "rgba8sint", |
| "r9bFsint", |
| "rgba8int", |
| "rgVROOsHnt", |
| "ryba1uint", |
| "r77ba1nnullrrt", |
| "rgb4006uint", |
| "rgba16uint", |
| "rb1uioot", |
| "rga1uzznt", |
| "r11b1uppiit", |
| "XXgba16sint", |
| "IIgb9916nni55t", |
| "rYbaSSrrsiHHat", |
| "rgba16sint", |
| "rbkk6Hit", |
| "jgba1sgRR", |
| "rgbab6si", |
| "rgba16fljat", |
| "rgba6float", |
| "rbq6float", |
| "rgba16float", |
| "rgba1NNloat", |
| "rgbvv6flot", |
| "rgbaQQ6foat", |
| "r3ffir", |
| "r32uijt", |
| "rNNwuin8", |
| "r32uint", |
| "r32int", |
| "rrr2uint", |
| "G32uint", |
| "r32sinFF", |
| "32st", |
| "r3rrint", |
| "r32sint", |
| "2sint", |
| "D3siJJt", |
| "r38n", |
| "r211lk", |
| "r32floa", |
| "r3flJat", |
| "r32float", |
| "r32fcoat", |
| "r32floOt", |
| "r32floKK_vtt", |
| "rxx32ui8", |
| "Fg3qq__n", |
| "rg32iqqt", |
| "rg32uint", |
| "rg333uin6", |
| "rtto62u9QQt", |
| "rg366uin", |
| "rOx2si6zz", |
| "rg3yysint", |
| "rHHsint", |
| "rg32sint", |
| "qWW432snt", |
| "rg3OOsnt", |
| "g32siYt", |
| "g32flo", |
| "rg32foaF", |
| "rg32fwat", |
| "rg32float", |
| "G3fKoaff", |
| "KKgq2float", |
| "rg32mmlo3t", |
| "rgba32uit", |
| "rqba3uint", |
| "rgbabb2uin", |
| "rgba32uint", |
| "rba32iint", |
| "qgba32uiOt", |
| "rgba32uiTTvv", |
| "rgFFa32sint", |
| "rg00Q2sPnt", |
| "rgbaP2sint", |
| "rgba32sint", |
| "rgb77s2sint", |
| "rgba32sbbRRC", |
| "rgbXX32sint", |
| "rOOOba3CCqoat", |
| "rgbu32fsLt", |
| "rgba3Xfloat", |
| "rgba32float", |
| "rba32float", |
| "qqb3float", |
| "rgba32fl22at", |
| }; |
| for (auto _ : state) { |
| for (auto& str : kStrings) { |
| auto result = ParseTexelFormat(str); |
| benchmark::DoNotOptimize(result); |
| } |
| } |
| } |
| |
| BENCHMARK(TexelFormatParser); |
| |
| } // namespace |
| } // namespace tint::ast |