Chromium Code Reviews| Index: bench/SkLinearBitmapPipelineBench.cpp |
| diff --git a/bench/SkLinearBitmapPipelineBench.cpp b/bench/SkLinearBitmapPipelineBench.cpp |
| index 476d0152312ad23ca99b2c4c2a6cd9403b331f63..7eb032b0f9cdc2986fd8f955705eb87b57a46346 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); |
|
msarett
2016/06/20 19:41:05
nit: spacing
|
| } |
| 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 gIsSRGB = true; |
|
msarett
2016/06/20 19:41:05
nit: This is a little confusing. Maybe gSRGB?
reed1
2016/06/20 21:05:52
Done.
|
| +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, gIsSRGB, 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, gIsSRGB, 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, gIsSRGB, 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, gIsSRGB, 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, gIsSRGB, 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, gIsSRGB, 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, gIsSRGB, 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, gIsSRGB, 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, gIsSRGB, 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, gIsSRGB, 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);) |