# Copyright 2016 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Things are easiest for everyone if these source paths are absolute.
_bench = get_path_info("../bench", "abspath")

bench_sources = [
  "$_bench/AAClipBench.cpp",
  "$_bench/AlternatingColorPatternBench.cpp",
  "$_bench/AndroidCodecBench.cpp",
  "$_bench/BenchLogger.cpp",
  "$_bench/Benchmark.cpp",
  "$_bench/BezierBench.cpp",
  "$_bench/BigPath.cpp",
  "$_bench/BigPathBench.cpp",
  "$_bench/BitmapRegionDecoderBench.cpp",
  "$_bench/BlendmodeBench.cpp",
  "$_bench/BlurBench.cpp",
  "$_bench/BlurImageFilterBench.cpp",
  "$_bench/BlurRectBench.cpp",
  "$_bench/BlurRectsBench.cpp",
  "$_bench/CanvasSaveRestoreBench.cpp",
  "$_bench/ChartBench.cpp",
  "$_bench/ChecksumBench.cpp",
  "$_bench/ChromeBench.cpp",
  "$_bench/ClipMaskBench.cpp",
  "$_bench/ClipStrategyBench.cpp",
  "$_bench/CmapBench.cpp",
  "$_bench/CodecBench.cpp",
  "$_bench/ColorFilterBench.cpp",
  "$_bench/ColorPrivBench.cpp",
  "$_bench/CompositingImagesBench.cpp",
  "$_bench/ControlBench.cpp",
  "$_bench/CoverageBench.cpp",
  "$_bench/CreateBackendTextureBench.cpp",
  "$_bench/CubicMapBench.cpp",
  "$_bench/DDLRecorderBench.cpp",
  "$_bench/DashBench.cpp",
  "$_bench/DecodeBench.cpp",
  "$_bench/DisplacementBench.cpp",
  "$_bench/DrawBitmapAABench.cpp",
  "$_bench/EncodeBench.cpp",
  "$_bench/FSRectBench.cpp",
  "$_bench/FilteringBench.cpp",
  "$_bench/FindCubicConvex180ChopsBench.cpp",
  "$_bench/FontCacheBench.cpp",
  "$_bench/GMBench.cpp",
  "$_bench/GameBench.cpp",
  "$_bench/GeometryBench.cpp",
  "$_bench/GlyphQuadFillBench.cpp",
  "$_bench/GrMemoryPoolBench.cpp",
  "$_bench/GrMipmapBench.cpp",
  "$_bench/GrQuadBench.cpp",
  "$_bench/GrResourceCacheBench.cpp",
  "$_bench/GradientBench.cpp",
  "$_bench/HairlinePathBench.cpp",
  "$_bench/HardStopGradientBench_ScaleNumColors.cpp",
  "$_bench/HardStopGradientBench_ScaleNumHardStops.cpp",
  "$_bench/HardStopGradientBench_SpecialHardStops.cpp",
  "$_bench/ImageBench.cpp",
  "$_bench/ImageCacheBench.cpp",
  "$_bench/ImageCacheBudgetBench.cpp",
  "$_bench/ImageCycleBench.cpp",
  "$_bench/ImageFilterCollapse.cpp",
  "$_bench/ImageFilterDAGBench.cpp",
  "$_bench/InterpBench.cpp",
  "$_bench/JSONBench.cpp",
  "$_bench/LightingBench.cpp",
  "$_bench/LineBench.cpp",
  "$_bench/MSKPBench.cpp",
  "$_bench/MathBench.cpp",
  "$_bench/Matrix44Bench.cpp",
  "$_bench/MatrixBench.cpp",
  "$_bench/MatrixConvolutionBench.cpp",
  "$_bench/MemsetBench.cpp",
  "$_bench/MergeBench.cpp",
  "$_bench/MipmapBench.cpp",
  "$_bench/MorphologyBench.cpp",
  "$_bench/MutexBench.cpp",
  "$_bench/PDFBench.cpp",
  "$_bench/ParagraphBench.cpp",
  "$_bench/PatchBench.cpp",
  "$_bench/PathBench.cpp",
  "$_bench/PathIterBench.cpp",
  "$_bench/PathOpsBench.cpp",
  "$_bench/PathTextBench.cpp",
  "$_bench/PerlinNoiseBench.cpp",
  "$_bench/PictureNestingBench.cpp",
  "$_bench/PictureOverheadBench.cpp",
  "$_bench/PicturePlaybackBench.cpp",
  "$_bench/PolyUtilsBench.cpp",
  "$_bench/PremulAndUnpremulAlphaOpsBench.cpp",
  "$_bench/QuickRejectBench.cpp",
  "$_bench/RTreeBench.cpp",
  "$_bench/ReadPixBench.cpp",
  "$_bench/RecordingBench.cpp",
  "$_bench/RectBench.cpp",
  "$_bench/RectanizerBench.cpp",
  "$_bench/RefCntBench.cpp",
  "$_bench/RegionBench.cpp",
  "$_bench/RegionContainBench.cpp",
  "$_bench/RepeatTileBench.cpp",
  "$_bench/RotatedRectBench.cpp",
  "$_bench/SKPAnimationBench.cpp",
  "$_bench/SKPBench.cpp",
  "$_bench/ScalarBench.cpp",
  "$_bench/ShaderMaskFilterBench.cpp",
  "$_bench/ShadowBench.cpp",
  "$_bench/ShapesBench.cpp",
  "$_bench/Sk4fBench.cpp",
  "$_bench/SkGlyphCacheBench.cpp",
  "$_bench/SkSLBench.cpp",
  "$_bench/SortBench.cpp",
  "$_bench/StreamBench.cpp",
  "$_bench/StrokeBench.cpp",
  "$_bench/SwizzleBench.cpp",
  "$_bench/TableBench.cpp",
  "$_bench/TessellateBench.cpp",
  "$_bench/TextBlobBench.cpp",
  "$_bench/TileBench.cpp",
  "$_bench/TileImageFilterBench.cpp",
  "$_bench/TopoSortBench.cpp",
  "$_bench/TriangulatorBench.cpp",
  "$_bench/TypefaceBench.cpp",
  "$_bench/VertBench.cpp",
  "$_bench/WritePixelsBench.cpp",
  "$_bench/WriterBench.cpp",
]

graphite_bench_sources = [
  "$_bench/graphite/BoundsManagerBench.cpp",
  "$_bench/graphite/IntersectionTreeBench.cpp",
]

skgpu_v1_bench_sources = [
  "$_bench/BulkRectBench.cpp",
  "$_bench/ClearBench.cpp",
  "$_bench/VertexColorSpaceBench.cpp",
]

bench_sources += skgpu_v1_bench_sources
