| Index: bench/SkLinearBitmapPipelineBench.cpp
|
| diff --git a/bench/SkLinearBitmapPipelineBench.cpp b/bench/SkLinearBitmapPipelineBench.cpp
|
| index 476d0152312ad23ca99b2c4c2a6cd9403b331f63..ad5cf618825e7dc11a3c51566c24f9dc66b5009d 100644
|
| --- a/bench/SkLinearBitmapPipelineBench.cpp
|
| +++ b/bench/SkLinearBitmapPipelineBench.cpp
|
| @@ -17,12 +17,12 @@
|
| struct CommonBitmapFPBenchmark : public Benchmark {
|
| CommonBitmapFPBenchmark(
|
| SkISize srcSize,
|
| - SkColorProfileType colorProfile,
|
| + bool isSRGB,
|
| SkMatrix m,
|
| bool useBilerp,
|
| SkShader::TileMode xTile,
|
| SkShader::TileMode yTile)
|
| - : fColorProfile(colorProfile)
|
| + : fIsSRGB(isSRGB)
|
| , fM{m}
|
| , fUseBilerp{useBilerp}
|
| , fXTile{xTile}
|
| @@ -89,7 +89,8 @@ struct CommonBitmapFPBenchmark : public Benchmark {
|
| bool trash = fM.invert(&fInvert);
|
| sk_ignore_unused_variable(trash);
|
|
|
| - fInfo = SkImageInfo::MakeN32Premul(width, height, fColorProfile);
|
| + fInfo = SkImageInfo::MakeN32Premul(width, height, fIsSRGB ?
|
| + SkColorSpace::NewNamed(SkColorSpace::kSRGB_Named) : nullptr);
|
| }
|
|
|
| bool isSuitableFor(Backend backend) override {
|
| @@ -100,7 +101,7 @@ struct CommonBitmapFPBenchmark : public Benchmark {
|
|
|
| SkString fName;
|
| SkISize fSrcSize;
|
| - SkColorProfileType fColorProfile;
|
| + bool fIsSRGB;
|
| SkMatrix fM;
|
| SkMatrix fInvert;
|
| bool fUseBilerp;
|
| @@ -113,16 +114,16 @@ struct CommonBitmapFPBenchmark : public Benchmark {
|
| struct SkBitmapFPGeneral final : public CommonBitmapFPBenchmark {
|
| SkBitmapFPGeneral(
|
| SkISize srcSize,
|
| - SkColorProfileType colorProfile,
|
| + bool isSRGB,
|
| SkMatrix m,
|
| bool useBilerp,
|
| SkShader::TileMode xTile,
|
| SkShader::TileMode yTile)
|
| - : CommonBitmapFPBenchmark(srcSize, colorProfile, m, useBilerp, xTile, yTile) { }
|
| + : CommonBitmapFPBenchmark(srcSize, isSRGB, m, useBilerp, xTile, yTile) { }
|
|
|
| SkString BaseName() override {
|
| SkString name;
|
| - if (fInfo.isSRGB()) {
|
| + if (fInfo.gammaCloseToSRGB()) {
|
| name.set("sRGB");
|
| } else {
|
| name.set("Linr");
|
| @@ -159,12 +160,12 @@ struct SkBitmapFPGeneral final : public CommonBitmapFPBenchmark {
|
| struct SkBitmapFPOrigShader : public CommonBitmapFPBenchmark {
|
| SkBitmapFPOrigShader(
|
| SkISize srcSize,
|
| - SkColorProfileType colorProfile,
|
| + bool isSRGB,
|
| SkMatrix m,
|
| bool useBilerp,
|
| SkShader::TileMode xTile,
|
| SkShader::TileMode yTile)
|
| - : CommonBitmapFPBenchmark(srcSize, colorProfile, m, useBilerp, xTile, yTile) { }
|
| + : CommonBitmapFPBenchmark(srcSize, isSRGB, m, useBilerp, xTile, yTile) { }
|
|
|
| SkString BaseName() override {
|
| SkString name{"Orig"};
|
| @@ -212,80 +213,82 @@ struct SkBitmapFPOrigShader : public CommonBitmapFPBenchmark {
|
| sk_sp<SkImage> fImage;
|
| };
|
|
|
| +const bool gSRGB = true;
|
| +const bool gLinearRGB = false;
|
| static SkISize srcSize = SkISize::Make(120, 100);
|
| static SkMatrix mI = SkMatrix::I();
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kSRGB_SkColorProfileType, mI, false,
|
| + srcSize, gSRGB, mI, false,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kLinear_SkColorProfileType, mI, false,
|
| + srcSize, gLinearRGB, mI, false,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPOrigShader(
|
| - srcSize, kLinear_SkColorProfileType, mI, false,
|
| + srcSize, gLinearRGB, mI, false,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kSRGB_SkColorProfileType, mI, true,
|
| + srcSize, gSRGB, mI, true,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kLinear_SkColorProfileType, mI, true,
|
| + srcSize, gLinearRGB, mI, true,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPOrigShader(
|
| - srcSize, kLinear_SkColorProfileType, mI, true,
|
| + srcSize, gLinearRGB, mI, true,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| static SkMatrix mS = SkMatrix::MakeScale(2.7f, 2.7f);
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kSRGB_SkColorProfileType, mS, false,
|
| + srcSize, gSRGB, mS, false,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kLinear_SkColorProfileType, mS, false,
|
| + srcSize, gLinearRGB, mS, false,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPOrigShader(
|
| - srcSize, kLinear_SkColorProfileType, mS, false,
|
| + srcSize, gLinearRGB, mS, false,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kSRGB_SkColorProfileType, mS, true,
|
| + srcSize, gSRGB, mS, true,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kLinear_SkColorProfileType, mS, true,
|
| + srcSize, gLinearRGB, mS, true,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPOrigShader(
|
| - srcSize, kLinear_SkColorProfileType, mS, true,
|
| + srcSize, gLinearRGB, mS, true,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| // Repeat
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kSRGB_SkColorProfileType, mS, false,
|
| + srcSize, gSRGB, mS, false,
|
| SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kLinear_SkColorProfileType, mS, false,
|
| + srcSize, gLinearRGB, mS, false,
|
| SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPOrigShader(
|
| - srcSize, kLinear_SkColorProfileType, mS, false,
|
| + srcSize, gLinearRGB, mS, false,
|
| SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kSRGB_SkColorProfileType, mS, true,
|
| + srcSize, gSRGB, mS, true,
|
| SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kLinear_SkColorProfileType, mS, true,
|
| + srcSize, gLinearRGB, mS, true,
|
| SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPOrigShader(
|
| - srcSize, kLinear_SkColorProfileType, mS, true,
|
| + srcSize, gLinearRGB, mS, true,
|
| SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
|
|
|
| static SkMatrix rotate(SkScalar r) {
|
| @@ -296,50 +299,50 @@ static SkMatrix rotate(SkScalar r) {
|
|
|
| static SkMatrix mR = rotate(30);
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kSRGB_SkColorProfileType, mR, false,
|
| + srcSize, gSRGB, mR, false,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kLinear_SkColorProfileType, mR, false,
|
| + srcSize, gLinearRGB, mR, false,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPOrigShader(
|
| - srcSize, kLinear_SkColorProfileType, mR, false,
|
| + srcSize, gLinearRGB, mR, false,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kSRGB_SkColorProfileType, mR, true,
|
| + srcSize, gSRGB, mR, true,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kLinear_SkColorProfileType, mR, true,
|
| + srcSize, gLinearRGB, mR, true,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPOrigShader(
|
| - srcSize, kLinear_SkColorProfileType, mR, true,
|
| + srcSize, gLinearRGB, mR, true,
|
| SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
|
|
|
| // Repeat
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kSRGB_SkColorProfileType, mR, false,
|
| + srcSize, gSRGB, mR, false,
|
| SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kLinear_SkColorProfileType, mR, false,
|
| + srcSize, gLinearRGB, mR, false,
|
| SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPOrigShader(
|
| - srcSize, kLinear_SkColorProfileType, mR, false,
|
| + srcSize, gLinearRGB, mR, false,
|
| SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kSRGB_SkColorProfileType, mR, true,
|
| + srcSize, gSRGB, mR, true,
|
| SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPGeneral(
|
| - srcSize, kLinear_SkColorProfileType, mR, true,
|
| + srcSize, gLinearRGB, mR, true,
|
| SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
|
|
|
| DEF_BENCH(return new SkBitmapFPOrigShader(
|
| - srcSize, kLinear_SkColorProfileType, mR, true,
|
| + srcSize, gLinearRGB, mR, true,
|
| SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
|
|
|