| // 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 |