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