| Index: bench/GeometryBench.cpp
|
| diff --git a/bench/GeometryBench.cpp b/bench/GeometryBench.cpp
|
| index 65398fa34a0faaa974fae2f6069ce9a1f4629c62..a5c4643f9e32b384a30eab0471e6eb92fb06de6c 100644
|
| --- a/bench/GeometryBench.cpp
|
| +++ b/bench/GeometryBench.cpp
|
| @@ -6,7 +6,6 @@
|
| */
|
|
|
| #include "Benchmark.h"
|
| -#include "Sk4x.h"
|
| #include "SkGeometry.h"
|
| #include "SkRandom.h"
|
| #include "SkRect.h"
|
| @@ -45,9 +44,6 @@
|
| GeoRectBench(const char suffix[]) : GeometryBench(suffix) {}
|
|
|
| protected:
|
| - // void* vptr;
|
| - size_t align_fRects_to_16Bytes[sizeof(void*) == 8 ? 1 : 3];
|
| -
|
| SkRect fRects[2048];
|
|
|
| virtual void onPreDraw() {
|
| @@ -101,7 +97,7 @@
|
| class GeoRectBench_Intersects : public GeoRectBench {
|
| public:
|
| GeoRectBench_Intersects() : GeoRectBench("rect_Intersects") {}
|
| -
|
| +
|
| protected:
|
| virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE {
|
| for (int outer = 0; outer < loops; ++outer) {
|
| @@ -117,7 +113,7 @@
|
| class GeoRectBench_sort : public GeoRectBench {
|
| public:
|
| GeoRectBench_sort() : GeoRectBench("rect_sort") {}
|
| -
|
| +
|
| protected:
|
| virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE {
|
| for (int outer = 0; outer < loops; ++outer) {
|
| @@ -133,59 +129,3 @@
|
| DEF_BENCH( return new GeoRectBench_Intersects; )
|
|
|
| DEF_BENCH( return new GeoRectBench_sort; )
|
| -
|
| -class GeoRectBench_sort_4f : public GeoRectBench {
|
| -public:
|
| - GeoRectBench_sort_4f() : GeoRectBench("rect_sort_4f") { }
|
| -
|
| -protected:
|
| - static SkRect Sort(const SkRect& rect) {
|
| - // To sort:
|
| - // left, right = minmax(left, right)
|
| - // top, bottom = minmax(top, bottom)
|
| - Sk4f ltrb(&rect.fLeft),
|
| - rblt = ltrb.zwxy(),
|
| - ltlt = Sk4f::Min(ltrb, rblt), // Holds (2 copies of) new left and top.
|
| - rbrb = Sk4f::Max(ltrb, rblt), // Holds (2 copies of) new right and bottom.
|
| - sort = Sk4f::XYAB(ltlt, rbrb);
|
| -
|
| - SkRect sorted;
|
| - sort.store(&sorted.fLeft);
|
| - return sorted;
|
| - }
|
| -
|
| - virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE {
|
| - for (int outer = 0; outer < loops; ++outer) {
|
| - for (size_t i = 0; i < SK_ARRAY_COUNT(fRects); ++i) {
|
| - fRects[i] = Sort(fRects[i]);
|
| - }
|
| - }
|
| - }
|
| -};
|
| -DEF_BENCH( return new GeoRectBench_sort_4f; )
|
| -
|
| -class GeoRectBench_Intersects_4f : public GeoRectBench {
|
| -public:
|
| - GeoRectBench_Intersects_4f() : GeoRectBench("rect_Intersects_4f") {}
|
| -
|
| -protected:
|
| - static bool Intersects(const SkRect& a, const SkRect& b) {
|
| - Sk4f r1(&a.fLeft),
|
| - r2(&b.fLeft),
|
| - lt = Sk4f::XYAB(r1, r2), // a.L a.T b.L b.T <
|
| - rb = Sk4f::ZWCD(r2, r1); // b.R b.B a.R a.B ?
|
| - return lt.lessThan(rb).allTrue();
|
| - }
|
| -
|
| - virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE {
|
| - for (int outer = 0; outer < loops; ++outer) {
|
| - int count = 0;
|
| - for (size_t i = 0; i < SK_ARRAY_COUNT(fRects); ++i) {
|
| - count += Intersects(fRects[0], fRects[i]);
|
| - }
|
| - this->virtualCallToFoilOptimizers(count);
|
| - }
|
| - }
|
| -};
|
| -DEF_BENCH( return new GeoRectBench_Intersects_4f; )
|
| -
|
|
|