xref: /aosp_15_r20/external/skia/bench/BUILD.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1load(
2    "//bazel:skia_rules.bzl",
3    "skia_cc_library",
4    "skia_cc_test",
5    "skia_filegroup",
6    "supports_platforms",
7)
8load("//tools/testrunners/benchmark:android_benchmark_test.bzl", "android_benchmark_test")
9
10package(
11    default_applicable_licenses = ["//:license"],
12)
13
14licenses(["notice"])
15
16skia_filegroup(
17    name = "gpu_tools",
18    srcs = ["GpuTools.h"],
19    visibility = ["//tools/viewer:__pkg__"],
20)
21
22skia_cc_library(
23    name = "benchmark",
24    srcs = ["Benchmark.cpp"],
25    hdrs = ["Benchmark.h"],
26    visibility = ["//tools/testrunners/benchmark:__subpackages__"],
27    deps = [
28        "//:core",
29        "//tools:registry",
30    ],
31)
32
33COMMON_DEPS = [
34    "//:core",
35    "//:png_encode_codec",
36    "//bench:benchmark",
37    "//src/base",
38    "//src/core:core_priv",
39    "//tools:autorelease_pool",
40    "//tools:registry",
41    "//tools:resources",
42    "//tools:stats",
43    "//tools:tool_utils",
44    "//tools/flags:cmd_flags",
45    "//tools/fonts:font_tool_utils",
46    "//tools/testrunners/common:testrunner",
47    "//tools/testrunners/common/compilation_mode_keys",
48    "//tools/timer",
49]
50
51skia_cc_test(
52    name = "cpu_nonrendering_test",
53    srcs = [
54        "GradientBench.cpp",
55        "TextBlobBench.cpp",
56        "//tools/testrunners/benchmark:BazelBenchmarkTestRunner.cpp",
57    ],
58    args = [
59        "--surfaceConfig",
60        "nonrendering",
61        "--autoTuneLoops",
62    ],
63    target_compatible_with = supports_platforms(
64        "@platforms//os:linux",
65        "@platforms//os:windows",
66        "@platforms//os:macos",
67    ),
68    deps = COMMON_DEPS + [
69        "//tools/testrunners/benchmark/target:raster",
70    ],
71)
72
73skia_cc_test(
74    name = "cpu_8888_test",
75    srcs = [
76        "GradientBench.cpp",
77        "TextBlobBench.cpp",
78        "//tools/testrunners/benchmark:BazelBenchmarkTestRunner.cpp",
79    ],
80    args = [
81        "--surfaceConfig",
82        "8888",
83        "--autoTuneLoops",
84    ],
85    target_compatible_with = supports_platforms(
86        "@platforms//os:linux",
87        "@platforms//os:windows",
88        "@platforms//os:macos",
89    ),
90    deps = COMMON_DEPS + [
91        "//tools/testrunners/benchmark/target:raster",
92    ],
93)
94
95# Vulkan benchmarks.
96[
97    skia_cc_test(
98        name = name,
99        srcs = [
100            "GradientBench.cpp",
101            "TextBlobBench.cpp",
102            "//tools/testrunners/benchmark:BazelBenchmarkTestRunner.cpp",
103        ],
104        args = [
105            "--surfaceConfig",
106            surfaceConfig,
107            "--autoTuneLoops",
108        ],
109        target_compatible_with = supports_platforms(
110            "@platforms//os:linux",
111            "@platforms//os:windows",
112            "@platforms//os:macos",
113        ),
114        deps = COMMON_DEPS + [
115            "//tools/testrunners/benchmark/target:ganesh_vulkan",
116        ],
117    )
118    for name, surfaceConfig in [
119        [
120            "ganesh_vk_test",
121            "vk",
122        ],
123        [
124            "ganesh_vk_1010102_test",
125            "vk_1010102",
126        ],
127        [
128            "ganesh_vk_msaa4_test",
129            "vk_msaa4",
130        ],
131        [
132            "ganesh_vk_msaa8_test",
133            "vk_msaa8",
134        ],
135        [
136            "ganesh_vk_dmsaa_test",
137            "vk_dmsaa",
138        ],
139        [
140            "ganesh_vk_betex_test",
141            "vk_betex",
142        ],
143        [
144            "ganesh_vk_bert_test",
145            "vk_bert",
146        ],
147    ]
148]
149
150skia_cc_test(
151    name = "ganesh_gles_test",
152    srcs = [
153        "GradientBench.cpp",
154        "TextBlobBench.cpp",
155        "//tools/testrunners/benchmark:BazelBenchmarkTestRunner.cpp",
156    ],
157    args = [
158        "--surfaceConfig",
159        "gles",
160        "--autoTuneLoops",
161    ],
162    target_compatible_with = supports_platforms(
163        "@platforms//os:linux",
164        "@platforms//os:windows",
165        "@platforms//os:macos",
166    ),
167    deps = COMMON_DEPS + [
168        "//tools/testrunners/benchmark/target:ganesh_gl",
169    ],
170)
171
172android_benchmark_test(
173    name = "cpu_nonrendering_android_test",
174    srcs = [
175        "GradientBench.cpp",
176        "TextBlobBench.cpp",
177        "//tools/testrunners/benchmark:BazelBenchmarkTestRunner.cpp",
178    ],
179    args = [
180        "--surfaceConfig",
181        "nonrendering",
182        "--autoTuneLoops",
183    ],
184    deps = COMMON_DEPS + [
185        "//tools/testrunners/benchmark/target:raster",
186    ],
187)
188
189android_benchmark_test(
190    name = "cpu_8888_android_test",
191    srcs = [
192        "GradientBench.cpp",
193        "TextBlobBench.cpp",
194        "//tools/testrunners/benchmark:BazelBenchmarkTestRunner.cpp",
195    ],
196    args = [
197        "--surfaceConfig",
198        "8888",
199        "--autoTuneLoops",
200    ],
201    deps = COMMON_DEPS + [
202        "//tools/testrunners/benchmark/target:raster",
203    ],
204)
205
206android_benchmark_test(
207    name = "ganesh_gles_android_test",
208    srcs = [
209        "GradientBench.cpp",
210        "TextBlobBench.cpp",
211        "//tools/testrunners/benchmark:BazelBenchmarkTestRunner.cpp",
212    ],
213    args = [
214        "--surfaceConfig",
215        "gles",
216        "--autoTuneLoops",
217    ],
218    deps = COMMON_DEPS + [
219        "//tools/testrunners/benchmark/target:ganesh_gl",
220    ],
221)
222
223android_benchmark_test(
224    name = "ganesh_vk_android_test",
225    srcs = [
226        "GradientBench.cpp",
227        "TextBlobBench.cpp",
228        "//tools/testrunners/benchmark:BazelBenchmarkTestRunner.cpp",
229    ],
230    args = [
231        "--surfaceConfig",
232        "vk",
233        "--autoTuneLoops",
234    ],
235    deps = COMMON_DEPS + [
236        "//tools/testrunners/benchmark/target:ganesh_vulkan",
237    ],
238)
239