| Index: bench/nanobench.cpp
|
| diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
|
| index b16fb13b57abe0a23ed5294b80a925b5a455293a..781c09f769fb3248c5c787521d4aa65bd1ee52cb 100644
|
| --- a/bench/nanobench.cpp
|
| +++ b/bench/nanobench.cpp
|
| @@ -111,6 +111,7 @@ DEFINE_bool(loopSKP, true, "Loop SKPs like we do for micro benches?");
|
| DEFINE_int32(flushEvery, 10, "Flush --outResultsFile every Nth run.");
|
| DEFINE_bool(resetGpuContext, true, "Reset the GrContext before running each test.");
|
| DEFINE_bool(gpuStats, false, "Print GPU stats after each gpu benchmark?");
|
| +DEFINE_bool(pngBuildTileIndex, false, "If supported, use png buildTileIndex/decodeSubset.");
|
|
|
| static SkString humanize(double ms) {
|
| if (FLAGS_verbose) return SkStringPrintf("%llu", (uint64_t)(ms*1e6));
|
| @@ -508,8 +509,8 @@ static Target* is_enabled(Benchmark* bench, const Config& config) {
|
| */
|
| static bool run_subset_bench(const SkString& path, bool useCodec) {
|
| static const char* const exts[] = {
|
| - "jpg", "jpeg", "png",
|
| - "JPG", "JPEG", "PNG",
|
| + "jpg", "jpeg",
|
| + "JPG", "JPEG",
|
| };
|
|
|
| for (uint32_t i = 0; i < SK_ARRAY_COUNT(exts); i++) {
|
| @@ -518,7 +519,18 @@ static bool run_subset_bench(const SkString& path, bool useCodec) {
|
| }
|
| }
|
|
|
| - return !useCodec && (path.endsWith("webp") || path.endsWith("WEBP"));
|
| + // Test png in SkCodec, and optionally on SkImageDecoder. SkImageDecoder is
|
| + // disabled by default because it leaks memory.
|
| + // skbug.com/4360
|
| + if ((useCodec || FLAGS_pngBuildTileIndex) && (path.endsWith("png") || path.endsWith("PNG"))) {
|
| + return true;
|
| + }
|
| +
|
| + if (!useCodec && (path.endsWith("webp") || path.endsWith("WEBP"))) {
|
| + return true;
|
| + }
|
| +
|
| + return false;
|
| }
|
|
|
| /*
|
|
|