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; ) |
- |