aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/CodecBench.cpp
diff options
context:
space:
mode:
authorGravatar msarett <msarett@google.com>2016-01-07 14:20:20 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-01-07 14:20:20 -0800
commitc7796b93f02e736df967301d3c46cec46dd02d5c (patch)
treeb4697f6079e8f1fe895dffbf56b8f047a6752921 /bench/CodecBench.cpp
parent1243b702eed1fa6f37da7d3ce71f41b4bc45ea7c (diff)
Make CodecBench test kPremul and kUnpremul
Diffstat (limited to 'bench/CodecBench.cpp')
-rw-r--r--bench/CodecBench.cpp17
1 files changed, 6 insertions, 11 deletions
diff --git a/bench/CodecBench.cpp b/bench/CodecBench.cpp
index 1384480f43..66831fb24c 100644
--- a/bench/CodecBench.cpp
+++ b/bench/CodecBench.cpp
@@ -11,12 +11,15 @@
#include "SkCodec.h"
#include "SkOSFile.h"
-CodecBench::CodecBench(SkString baseName, SkData* encoded, SkColorType colorType)
+CodecBench::CodecBench(SkString baseName, SkData* encoded, SkColorType colorType,
+ SkAlphaType alphaType)
: fColorType(colorType)
+ , fAlphaType(alphaType)
, fData(SkRef(encoded))
{
// Parse filename and the color type to give the benchmark a useful name
- fName.printf("Codec_%s_%s", baseName.c_str(), color_type_to_str(colorType));
+ fName.printf("Codec_%s_%s%s", baseName.c_str(), color_type_to_str(colorType),
+ alpha_type_to_str(alphaType));
#ifdef SK_DEBUG
// Ensure that we can create an SkCodec from this data.
SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(fData));
@@ -35,15 +38,7 @@ bool CodecBench::isSuitableFor(Backend backend) {
void CodecBench::onDelayedSetup() {
SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(fData));
- fInfo = codec->getInfo().makeColorType(fColorType);
- SkAlphaType alphaType;
- // Caller should not have created this CodecBench if the alpha type was
- // invalid.
- SkAssertResult(SkColorTypeValidateAlphaType(fColorType, fInfo.alphaType(),
- &alphaType));
- if (alphaType != fInfo.alphaType()) {
- fInfo = fInfo.makeAlphaType(alphaType);
- }
+ fInfo = codec->getInfo().makeColorType(fColorType).makeAlphaType(fAlphaType);
fPixelStorage.reset(fInfo.getSafeSize(fInfo.minRowBytes()));
}