aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-06-25 20:01:17 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-06-25 20:01:28 +0000
commit91d7d1d4ac7ca5e27f6caff24bed943baa9a3493 (patch)
treeaf8ae1c36492a60d5f85f75c7587a751062fe1f8 /bench
parente08e639063dd5476b5a1a24c0f0dc8f1139bfd8d (diff)
Revert "Revert "Remove deadcode for sRGB image shading.""
This reverts commit e08e639063dd5476b5a1a24c0f0dc8f1139bfd8d. Reason for revert: revert was not clean Original change's description: > Revert "Remove deadcode for sRGB image shading." > > This reverts commit 51f6a0f89e55b2c0f102aa7963320a23c586e71d. > > Reason for revert: crazy attempt to fix chrome roll > > Original change's description: > > Remove deadcode for sRGB image shading. > > > > Change-Id: I9d98da67d97b64ab55cf44b9ae447882dccda1ca > > Reviewed-on: https://skia-review.googlesource.com/20695 > > Reviewed-by: Mike Klein <mtklein@chromium.org> > > Commit-Queue: Herb Derby <herb@google.com> > > TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,reed@google.com > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Change-Id: Icab02936d6c18e50b8de353aa1cd4c225e15e0bf > Reviewed-on: https://skia-review.googlesource.com/20800 > Reviewed-by: Mike Reed <reed@google.com> TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,reed@google.com Change-Id: Ibc579a5a95e78cb257e8d443dbb905db3761e84a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/20802 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'bench')
-rw-r--r--bench/SkLinearBitmapPipelineBench.cpp354
1 files changed, 0 insertions, 354 deletions
diff --git a/bench/SkLinearBitmapPipelineBench.cpp b/bench/SkLinearBitmapPipelineBench.cpp
deleted file mode 100644
index f8919bf61b..0000000000
--- a/bench/SkLinearBitmapPipelineBench.cpp
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
- * Copyright 2016 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include <memory>
-#include "Benchmark.h"
-
-#include "SkArenaAlloc.h"
-#include "SkBitmapProcShader.h"
-#include "SkColor.h"
-#include "SkArenaAlloc.h"
-#include "SkImage.h"
-#include "SkLinearBitmapPipeline.h"
-#include "SkPM4f.h"
-#include "SkShaderBase.h"
-
-struct CommonBitmapFPBenchmark : public Benchmark {
- CommonBitmapFPBenchmark(
- SkISize srcSize,
- bool isSRGB,
- SkMatrix m,
- bool useBilerp,
- SkShader::TileMode xTile,
- SkShader::TileMode yTile)
- : fIsSRGB(isSRGB)
- , fM{m}
- , fUseBilerp{useBilerp}
- , fXTile{xTile}
- , fYTile{yTile} {
- fSrcSize = srcSize;
- }
-
- static SkString tileName(const char* pre, SkShader::TileMode mode) {
- SkString name{pre};
- switch (mode) {
- case SkShader::kClamp_TileMode:
- name.append("Clamp");
- return name;
- case SkShader::kRepeat_TileMode:
- name.append("Repeat");
- return name;
- case SkShader::kMirror_TileMode:
- name.append("Mirror");
- return name;
- default:
- name.append("Unknown");
- return name;
- }
- }
-
- const char* onGetName() override {
- fName.set("SkBitmapFP");
- if (fM.getType() & SkMatrix::kPerspective_Mask) {
- fName.append("Perspective");
- } else if (fM.getType() & SkMatrix::kAffine_Mask) {
- fName.append("Affine");
- } else if (fM.getType() & SkMatrix::kScale_Mask) {
- fName.append("Scale");
- } else if (fM.getType() & SkMatrix::kTranslate_Mask) {
- fName.append("Translate");
- } else {
- fName.append("Identity");
- }
-
- fName.append(tileName("X", fXTile));
- fName.append(tileName("Y", fYTile));
-
- if (fUseBilerp) {
- fName.append("Filter");
- } else {
- fName.append("Nearest");
- }
-
- fName.appendf("%s", BaseName().c_str());
-
- return fName.c_str();
- }
-
- void onPreDraw(SkCanvas*) override {
- int width = fSrcSize.fWidth;
- int height = fSrcSize.fHeight;
- fBitmap.reset(new uint32_t[width * height]);
- for (int y = 0; y < height; y++) {
- for (int x = 0; x < width; x++) {
- fBitmap[y * width + x] = (y << 8) + x + (128<<24);
- }
- }
-
- bool trash = fM.invert(&fInvert);
- sk_ignore_unused_variable(trash);
-
- fInfo = SkImageInfo::MakeN32Premul(width, height, fIsSRGB ?
- SkColorSpace::MakeSRGB() : nullptr);
- }
-
- bool isSuitableFor(Backend backend) override {
- return backend == kNonRendering_Backend;
- }
-
- virtual SkString BaseName() = 0;
-
- SkString fName;
- SkISize fSrcSize;
- bool fIsSRGB;
- SkMatrix fM;
- SkMatrix fInvert;
- bool fUseBilerp;
- SkShader::TileMode fXTile;
- SkShader::TileMode fYTile;
- SkImageInfo fInfo;
- std::unique_ptr<uint32_t[]> fBitmap;
-};
-
-struct SkBitmapFPGeneral final : public CommonBitmapFPBenchmark {
- SkBitmapFPGeneral(
- SkISize srcSize,
- bool isSRGB,
- SkMatrix m,
- bool useBilerp,
- SkShader::TileMode xTile,
- SkShader::TileMode yTile)
- : CommonBitmapFPBenchmark(srcSize, isSRGB, m, useBilerp, xTile, yTile) { }
-
- SkString BaseName() override {
- SkString name;
- if (fInfo.gammaCloseToSRGB()) {
- name.set("sRGB");
- } else {
- name.set("Linr");
- }
- return name;
- }
-
- void onDraw(int loops, SkCanvas*) override {
- int width = fSrcSize.fWidth;
- int height = fSrcSize.fHeight;
-
- SkAutoTMalloc<SkPM4f> FPbuffer(width*height);
-
- SkFilterQuality filterQuality;
- if (fUseBilerp) {
- filterQuality = SkFilterQuality::kLow_SkFilterQuality;
- } else {
- filterQuality = SkFilterQuality::kNone_SkFilterQuality;
- }
-
- SkPixmap srcPixmap{fInfo, fBitmap.get(), static_cast<size_t>(4 * width)};
-
-
- SkSTArenaAlloc<600> allocator(512);
- SkLinearBitmapPipeline pipeline{
- fInvert, filterQuality, fXTile, fYTile, SK_ColorBLACK, srcPixmap, &allocator};
-
- int count = 100;
-
- for (int n = 0; n < 1000*loops; n++) {
- pipeline.shadeSpan4f(3, 6, FPbuffer, count);
- }
- }
-};
-
-struct SkBitmapFPOrigShader : public CommonBitmapFPBenchmark {
- SkBitmapFPOrigShader(
- SkISize srcSize,
- bool isSRGB,
- SkMatrix m,
- bool useBilerp,
- SkShader::TileMode xTile,
- SkShader::TileMode yTile)
- : CommonBitmapFPBenchmark(srcSize, isSRGB, m, useBilerp, xTile, yTile) { }
-
- SkString BaseName() override {
- SkString name{"Orig"};
- return name;
- }
-
- void onPreDraw(SkCanvas* c) override {
- CommonBitmapFPBenchmark::onPreDraw(c);
-
- fImage = SkImage::MakeRasterCopy(
- SkPixmap(fInfo, fBitmap.get(), sizeof(SkPMColor) * fSrcSize.fWidth));
- fPaint.setShader(fImage->makeShader(fXTile, fYTile));
- if (fUseBilerp) {
- fPaint.setFilterQuality(SkFilterQuality::kLow_SkFilterQuality);
- } else {
- fPaint.setFilterQuality(SkFilterQuality::kNone_SkFilterQuality);
- }
- }
-
- void onPostDraw(SkCanvas*) override {
-
- }
-
- void onDraw(int loops, SkCanvas*) override {
- if (as_SB(fPaint.getShader())->isRasterPipelineOnly()) {
- return;
- }
- int width = fSrcSize.fWidth;
- int height = fSrcSize.fHeight;
-
- SkAutoTMalloc<SkPMColor> buffer4b(width*height);
-
- SkArenaAlloc alloc{0};
- const SkShaderBase::ContextRec rec(fPaint, fM, nullptr,
- SkShaderBase::ContextRec::kPMColor_DstType,
- nullptr);
- SkShaderBase::Context* ctx = as_SB(fPaint.getShader())->makeContext(rec, &alloc);
-
- int count = 100;
-
- for (int n = 0; n < 1000*loops; n++) {
- ctx->shadeSpan(3, 6, buffer4b, count);
- }
- }
- SkPaint fPaint;
- 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, gSRGB, mI, false,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gLinearRGB, mI, false,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPOrigShader(
- srcSize, gLinearRGB, mI, false,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gSRGB, mI, true,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gLinearRGB, mI, true,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPOrigShader(
- 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, gSRGB, mS, false,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gLinearRGB, mS, false,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPOrigShader(
- srcSize, gLinearRGB, mS, false,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gSRGB, mS, true,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gLinearRGB, mS, true,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPOrigShader(
- srcSize, gLinearRGB, mS, true,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-// Repeat
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gSRGB, mS, false,
- SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gLinearRGB, mS, false,
- SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPOrigShader(
- srcSize, gLinearRGB, mS, false,
- SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gSRGB, mS, true,
- SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gLinearRGB, mS, true,
- SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPOrigShader(
- srcSize, gLinearRGB, mS, true,
- SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
-
-static SkMatrix rotate(SkScalar r) {
- SkMatrix m;
- m.setRotate(30);
- return m;
-}
-
-static SkMatrix mR = rotate(30);
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gSRGB, mR, false,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gLinearRGB, mR, false,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPOrigShader(
- srcSize, gLinearRGB, mR, false,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gSRGB, mR, true,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gLinearRGB, mR, true,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPOrigShader(
- srcSize, gLinearRGB, mR, true,
- SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
-
-// Repeat
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gSRGB, mR, false,
- SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gLinearRGB, mR, false,
- SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPOrigShader(
- srcSize, gLinearRGB, mR, false,
- SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gSRGB, mR, true,
- SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPGeneral(
- srcSize, gLinearRGB, mR, true,
- SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)
-
-DEF_BENCH(return new SkBitmapFPOrigShader(
- srcSize, gLinearRGB, mR, true,
- SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);)