Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3058)

Unified Diff: bench/nanobench.cpp

Issue 1990543002: Delete SkBitmapRegionCanvas (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Preserve old name of tests Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « bench/BitmapRegionDecoderBench.cpp ('k') | dm/DM.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: bench/nanobench.cpp
diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
index 8bc40cc460e82f83fd7107133fd9162267256b5c..4fb1ed223abdb481f2546c0e7e0083ab65747773 100644
--- a/bench/nanobench.cpp
+++ b/bench/nanobench.cpp
@@ -513,22 +513,15 @@ static Target* is_enabled(Benchmark* bench, const Config& config) {
return target;
}
-static bool valid_brd_bench(SkData* encoded, SkBitmapRegionDecoder::Strategy strategy,
- SkColorType colorType, uint32_t sampleSize, uint32_t minOutputSize, int* width,
- int* height) {
+static bool valid_brd_bench(SkData* encoded, SkColorType colorType, uint32_t sampleSize,
+ uint32_t minOutputSize, int* width, int* height) {
SkAutoTDelete<SkBitmapRegionDecoder> brd(
- SkBitmapRegionDecoder::Create(encoded, strategy));
+ SkBitmapRegionDecoder::Create(encoded, SkBitmapRegionDecoder::kAndroidCodec_Strategy));
if (nullptr == brd.get()) {
// This is indicates that subset decoding is not supported for a particular image format.
return false;
}
- SkBitmap bitmap;
- if (!brd->decodeRegion(&bitmap, nullptr, SkIRect::MakeXYWH(0, 0, brd->width(), brd->height()),
- 1, colorType, false)) {
- return false;
- }
-
if (sampleSize * minOutputSize > (uint32_t) brd->width() || sampleSize * minOutputSize >
(uint32_t) brd->height()) {
// This indicates that the image is not large enough to decode a
@@ -568,7 +561,6 @@ public:
, fCurrentColorType(0)
, fCurrentAlphaType(0)
, fCurrentSubsetType(0)
- , fCurrentBRDStrategy(0)
, fCurrentSampleSize(0)
, fCurrentAnimSKP(0) {
for (int i = 0; i < FLAGS_skps.count(); i++) {
@@ -842,15 +834,6 @@ public:
}
// Run the BRDBenches
- // We will benchmark multiple BRD strategies.
- static const struct {
- SkBitmapRegionDecoder::Strategy fStrategy;
- const char* fName;
- } strategies[] = {
- { SkBitmapRegionDecoder::kCanvas_Strategy, "BRD_canvas" },
- { SkBitmapRegionDecoder::kAndroidCodec_Strategy, "BRD_android_codec" },
- };
-
// We intend to create benchmarks that model the use cases in
// android/libraries/social/tiledimage. In this library, an image is decoded in 512x512
// tiles. The image can be translated freely, so the location of a tile may be anywhere in
@@ -866,78 +849,72 @@ public:
const uint32_t brdSampleSizes[] = { 1, 2, 4, 8, 16 };
const uint32_t minOutputSize = 512;
for (; fCurrentBRDImage < fImages.count(); fCurrentBRDImage++) {
+ fSourceType = "image";
+ fBenchType = "BRD";
+
const SkString& path = fImages[fCurrentBRDImage];
if (SkCommandLineFlags::ShouldSkip(FLAGS_match, path.c_str())) {
continue;
}
- while (fCurrentBRDStrategy < (int) SK_ARRAY_COUNT(strategies)) {
- fSourceType = "image";
- fBenchType = strategies[fCurrentBRDStrategy].fName;
-
- const SkBitmapRegionDecoder::Strategy strategy =
- strategies[fCurrentBRDStrategy].fStrategy;
-
- while (fCurrentColorType < fColorTypes.count()) {
- while (fCurrentSampleSize < (int) SK_ARRAY_COUNT(brdSampleSizes)) {
- while (fCurrentSubsetType <= kLastSingle_SubsetType) {
-
- SkAutoTUnref<SkData> encoded(SkData::NewFromFileName(path.c_str()));
- const SkColorType colorType = fColorTypes[fCurrentColorType];
- uint32_t sampleSize = brdSampleSizes[fCurrentSampleSize];
- int currentSubsetType = fCurrentSubsetType++;
-
- int width = 0;
- int height = 0;
- if (!valid_brd_bench(encoded.get(), strategy, colorType, sampleSize,
- minOutputSize, &width, &height)) {
+
+ while (fCurrentColorType < fColorTypes.count()) {
+ while (fCurrentSampleSize < (int) SK_ARRAY_COUNT(brdSampleSizes)) {
+ while (fCurrentSubsetType <= kLastSingle_SubsetType) {
+
+ SkAutoTUnref<SkData> encoded(SkData::NewFromFileName(path.c_str()));
+ const SkColorType colorType = fColorTypes[fCurrentColorType];
+ uint32_t sampleSize = brdSampleSizes[fCurrentSampleSize];
+ int currentSubsetType = fCurrentSubsetType++;
+
+ int width = 0;
+ int height = 0;
+ if (!valid_brd_bench(encoded.get(), colorType, sampleSize, minOutputSize,
+ &width, &height)) {
+ break;
+ }
+
+ SkString basename = SkOSPath::Basename(path.c_str());
+ SkIRect subset;
+ const uint32_t subsetSize = sampleSize * minOutputSize;
+ switch (currentSubsetType) {
+ case kTopLeft_SubsetType:
+ basename.append("_TopLeft");
+ subset = SkIRect::MakeXYWH(0, 0, subsetSize, subsetSize);
+ break;
+ case kTopRight_SubsetType:
+ basename.append("_TopRight");
+ subset = SkIRect::MakeXYWH(width - subsetSize, 0, subsetSize,
+ subsetSize);
+ break;
+ case kMiddle_SubsetType:
+ basename.append("_Middle");
+ subset = SkIRect::MakeXYWH((width - subsetSize) / 2,
+ (height - subsetSize) / 2, subsetSize, subsetSize);
break;
- }
-
- SkString basename = SkOSPath::Basename(path.c_str());
- SkIRect subset;
- const uint32_t subsetSize = sampleSize * minOutputSize;
- switch (currentSubsetType) {
- case kTopLeft_SubsetType:
- basename.append("_TopLeft");
- subset = SkIRect::MakeXYWH(0, 0, subsetSize, subsetSize);
- break;
- case kTopRight_SubsetType:
- basename.append("_TopRight");
- subset = SkIRect::MakeXYWH(width - subsetSize, 0, subsetSize,
- subsetSize);
- break;
- case kMiddle_SubsetType:
- basename.append("_Middle");
- subset = SkIRect::MakeXYWH((width - subsetSize) / 2,
- (height - subsetSize) / 2, subsetSize, subsetSize);
- break;
- case kBottomLeft_SubsetType:
- basename.append("_BottomLeft");
- subset = SkIRect::MakeXYWH(0, height - subsetSize, subsetSize,
- subsetSize);
- break;
- case kBottomRight_SubsetType:
- basename.append("_BottomRight");
- subset = SkIRect::MakeXYWH(width - subsetSize,
- height - subsetSize, subsetSize, subsetSize);
- break;
- default:
- SkASSERT(false);
- }
-
- return new BitmapRegionDecoderBench(basename.c_str(), encoded.get(),
- strategy, colorType, sampleSize, subset);
+ case kBottomLeft_SubsetType:
+ basename.append("_BottomLeft");
+ subset = SkIRect::MakeXYWH(0, height - subsetSize, subsetSize,
+ subsetSize);
+ break;
+ case kBottomRight_SubsetType:
+ basename.append("_BottomRight");
+ subset = SkIRect::MakeXYWH(width - subsetSize,
+ height - subsetSize, subsetSize, subsetSize);
+ break;
+ default:
+ SkASSERT(false);
}
- fCurrentSubsetType = 0;
- fCurrentSampleSize++;
+
+ return new BitmapRegionDecoderBench(basename.c_str(), encoded.get(),
+ colorType, sampleSize, subset);
}
- fCurrentSampleSize = 0;
- fCurrentColorType++;
+ fCurrentSubsetType = 0;
+ fCurrentSampleSize++;
}
- fCurrentColorType = 0;
- fCurrentBRDStrategy++;
+ fCurrentSampleSize = 0;
+ fCurrentColorType++;
}
- fCurrentBRDStrategy = 0;
+ fCurrentColorType = 0;
}
return nullptr;
@@ -1001,7 +978,6 @@ private:
int fCurrentColorType;
int fCurrentAlphaType;
int fCurrentSubsetType;
- int fCurrentBRDStrategy;
int fCurrentSampleSize;
int fCurrentAnimSKP;
};
« no previous file with comments | « bench/BitmapRegionDecoderBench.cpp ('k') | dm/DM.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698