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