aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/MultitextureImageBench.cpp
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2018-01-11 11:46:21 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-01-11 19:37:51 +0000
commitb5ef1f9b13e36a427dd6350986d41db208b2df1b (patch)
treef3feab5dbea98e9daa160230eff92b63c56e4475 /bench/MultitextureImageBench.cpp
parentac47b88d3c4b6232ea8664cea99fbd8394f2dc38 (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.cpp52
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