aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/RectBench.cpp
diff options
context:
space:
mode:
authorGravatar msarett <msarett@google.com>2016-07-11 14:57:26 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-07-11 14:57:26 -0700
commitafb8539f62b3e92dcc5dbe0598605f4058a1e03a (patch)
tree927ec4e6f072f8f74bb5064d6f23048224ce748e /bench/RectBench.cpp
parentbed41afa5f663a6c42f9d4e3f42c46a148f5d44a (diff)
Revert of try to speed-up maprect + round2i + contains (patchset #8 id:140001 of https://codereview.chromium.org/2133413002/ )
Reason for revert: Breaking the roll... https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/253294/steps/compile%20%28with%20patch%29/logs/stdio Original issue's description: > try to speed-up maprect + round2i + contains > > We call roundOut in a few places. If we can get SkNx::Ceil we could efficiently implement that as well. > > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2133413002 > CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot > > Committed: https://skia.googlesource.com/skia/+/b42b785d1cbc98bd34aceae338060831b974f9c5 TBR=mtklein@google.com,reed@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2136343002
Diffstat (limited to 'bench/RectBench.cpp')
-rw-r--r--bench/RectBench.cpp90
1 files changed, 0 insertions, 90 deletions
diff --git a/bench/RectBench.cpp b/bench/RectBench.cpp
index 0f757a2b5f..46a515de29 100644
--- a/bench/RectBench.cpp
+++ b/bench/RectBench.cpp
@@ -302,93 +302,3 @@ DEF_BENCH(return new BlitMaskBench(SkCanvas::kPoints_PointMode,
DEF_BENCH(return new BlitMaskBench(SkCanvas::kPoints_PointMode,
BlitMaskBench::KMaskShader,
"maskshader");)
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-typedef int (*RectMathProc)(const SkMatrix&, const SkRect[], const SkIRect[], int count);
-
-class RectMathBench : public Benchmark {
- SkString fName;
- SkRandom fRand;
- SkString fSuffix;
- RectMathProc fProc;
-
-public:
- enum {
- N = 300,
- OUTER = 10000,
- };
- SkRect fRects[N];
- SkIRect fIRects[N];
- volatile int fCounter;
-
- RectMathBench(RectMathProc proc, const char* suffix) {
- fProc = proc;
- fSuffix.set(suffix);
- SkRandom rand;
- for (int i = 0; i < N; ++i) {
- fRects[i].setXYWH(rand.nextUScalar1() * 100, rand.nextUScalar1() * 100,
- rand.nextUScalar1() * 100, rand.nextUScalar1() * 100);
- fIRects[i].setXYWH(i, i, 10, 10);
- }
- }
-
- bool isVisual() override { return false; }
-
-protected:
- const char* onGetName() override {
- fName.printf("rect_math_%s", fSuffix.c_str());
- return fName.c_str();
- }
-
- void onDraw(int loops, SkCanvas* canvas) override {
- SkMatrix mat;
- for (int j = 0; j < OUTER; ++j) {
- mat.setScaleTranslate(fRand.nextUScalar1(), fRand.nextUScalar1(),
- fRand.nextUScalar1(), fRand.nextUScalar1());
- fCounter += fProc(mat, fRects, fIRects, N);
- }
- }
-
-private:
- typedef Benchmark INHERITED;
-};
-
-static int rectmath0(const SkMatrix& mat, const SkRect rr[], const SkIRect ir[], int count) {
- int counter = 0;
- for (int i = 0; i < count; ++i) {
- SkRect dst;
- mat.mapRectScaleTranslate(&dst, rr[i]);
- counter += dst.round().contains(ir[i]);
- }
- return counter;
-}
-
-static int rectmath1(const SkMatrix& mat, const SkRect rr[], const SkIRect ir[], int count) {
- int counter = 0;
- for (int i = 0; i < count; ++i) {
- SkRect dst;
- mat.mapRectScaleTranslate(&dst, rr[i]);
- counter += dst.round2i().contains(ir[i]);
- }
- return counter;
-}
-
-#if 0
-static bool contains(SkIRect outer, SkIRect inner) {
- Sk4i le(outer.fLeft, outer.fTop, inner.fRight, inner.fBottom);
- Sk4i ge(inner.fLeft, inner.fTop, outer.fRight, outer.fBottom);
- return (le <= ge).allTrue();
-}
-
-static int rectmath3(const SkMatrix& mat, const SkRect rr[], const SkIRect ir[], int count) {
- int counter = 0;
- for (int i = 0; i < count; ++i) {
- counter += contains(mat.mapRectScaleTranslate(rr[i]).round2i(), ir[i]);
- }
- return counter;
-}
-#endif
-
-DEF_BENCH(return new RectMathBench(rectmath0, "0");)
-DEF_BENCH(return new RectMathBench(rectmath1, "1");)