diff options
author | Brian Salomon <bsalomon@google.com> | 2018-01-11 11:46:21 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-01-11 19:37:51 +0000 |
commit | b5ef1f9b13e36a427dd6350986d41db208b2df1b (patch) | |
tree | f3feab5dbea98e9daa160230eff92b63c56e4475 /bench/MultitextureImageBench.cpp | |
parent | ac47b88d3c4b6232ea8664cea99fbd8394f2dc38 (diff) |
Make GrTextureOp capable of edge antialiasing.
Bug: skia:
Change-Id: I0088bdbb6a76811611fa4628656bf9513c5bf04a
Reviewed-on: https://skia-review.googlesource.com/91105
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'bench/MultitextureImageBench.cpp')
-rw-r--r-- | bench/MultitextureImageBench.cpp | 52 |
1 files changed, 33 insertions, 19 deletions
diff --git a/bench/MultitextureImageBench.cpp b/bench/MultitextureImageBench.cpp index d001cac774..2c87efb414 100644 --- a/bench/MultitextureImageBench.cpp +++ b/bench/MultitextureImageBench.cpp @@ -16,12 +16,16 @@ class MultitextureImages : public Benchmark { public: - MultitextureImages(int imageSize, int dstRectSize, bool disableMultitexturing) + MultitextureImages(int imageSize, int dstRectSize, bool disableMultitexturing, bool aa) : fImageSize(imageSize) , fDstRectSize(dstRectSize) - , fDisableMultitexturing(disableMultitexturing) { + , fDisableMultitexturing(disableMultitexturing) + , fAA(aa) { fName.appendf("multitexture_images_%dx%d_image_%dx%d_rect", imageSize, imageSize, dstRectSize, dstRectSize); + if (aa) { + fName.append("_aa"); + } if (disableMultitexturing) { fName.append("_disable_multitexturing"); } @@ -60,6 +64,7 @@ protected: SkPaint paint; paint.setAlpha(0x40); paint.setFilterQuality(kLow_SkFilterQuality); + paint.setAntiAlias(fAA); for (int i = 0; i < loops; i++) { for (int j = 0; j < kNumImages; ++j) { SkVector translate = this->translation(i * kNumImages + j); @@ -87,8 +92,9 @@ private: SkVector translation(int i) const { SkVector offset; - offset.fX = i % kNumColumns * kTranslate; - offset.fY = (i / kNumColumns) % kNumRows * kTranslate; + // Fractional offsets to ensure we can't ignore antialiasing. + offset.fX = i % kNumColumns * kTranslate + 0.1f; + offset.fY = (i / kNumColumns) % kNumRows * kTranslate + 0.1f; return offset; } @@ -102,24 +108,32 @@ private: int fImageSize; int fDstRectSize; bool fDisableMultitexturing; + bool fAA; typedef Benchmark INHERITED; }; -DEF_BENCH(return new MultitextureImages(128, 32, false)); -DEF_BENCH(return new MultitextureImages(128, 32, true)); -DEF_BENCH(return new MultitextureImages(128, 128, false)); -DEF_BENCH(return new MultitextureImages(128, 128, true)); -DEF_BENCH(return new MultitextureImages(128, 256, false)); -DEF_BENCH(return new MultitextureImages(128, 256, true)); - -DEF_BENCH(return new MultitextureImages(512, 32, false)); -DEF_BENCH(return new MultitextureImages(512, 32, true)); -DEF_BENCH(return new MultitextureImages(512, 128, false)); -DEF_BENCH(return new MultitextureImages(512, 128, true)); -DEF_BENCH(return new MultitextureImages(512, 256, false)); -DEF_BENCH(return new MultitextureImages(512, 256, true)); -DEF_BENCH(return new MultitextureImages(512, 512, false)); -DEF_BENCH(return new MultitextureImages(512, 512, true)); +// Non-AA +DEF_BENCH(return new MultitextureImages(128, 32, false, false)); +DEF_BENCH(return new MultitextureImages(128, 32, true, false)); +DEF_BENCH(return new MultitextureImages(128, 128, false, false)); +DEF_BENCH(return new MultitextureImages(128, 128, true, false)); +DEF_BENCH(return new MultitextureImages(128, 256, false, false)); +DEF_BENCH(return new MultitextureImages(128, 256, true, false)); + +DEF_BENCH(return new MultitextureImages(512, 32, false, false)); +DEF_BENCH(return new MultitextureImages(512, 32, true, false)); +DEF_BENCH(return new MultitextureImages(512, 128, false, false)); +DEF_BENCH(return new MultitextureImages(512, 128, true, false)); +DEF_BENCH(return new MultitextureImages(512, 256, false, false)); +DEF_BENCH(return new MultitextureImages(512, 256, true, false)); +DEF_BENCH(return new MultitextureImages(512, 512, false, false)); +DEF_BENCH(return new MultitextureImages(512, 512, true, false)); + +// AA +DEF_BENCH(return new MultitextureImages(512, 512, true, true)); +DEF_BENCH(return new MultitextureImages(512, 512, false, true)); +DEF_BENCH(return new MultitextureImages(128, 32, true, true)); +DEF_BENCH(return new MultitextureImages(128, 32, false, true)); #endif |