Add performance benchmark before landing perf improvements that remove sk_bezero...
authorshawnsingh@chromium.org <shawnsingh@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 28 Aug 2013 05:07:26 +0000 (05:07 +0000)
committershawnsingh@chromium.org <shawnsingh@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 28 Aug 2013 05:07:26 +0000 (05:07 +0000)
BUG=skia:1558
R=jvanverth@google.com

Review URL: https://codereview.chromium.org/22872015

git-svn-id: http://skia.googlecode.com/svn/trunk@10967 2bbb7eff-a529-9590-31e7-b0007b416f81

bench/Matrix44Bench.cpp

index 7baf82a..c369288 100644 (file)
@@ -58,6 +58,27 @@ private:
     typedef Matrix44Bench INHERITED;
 };
 
+class SetIdentityMatrix44Bench : public Matrix44Bench {
+public:
+    SetIdentityMatrix44Bench(void* param) : INHERITED(param, "setidentity") {
+        double rowMajor[16] =
+                { 1, 2, 3, 4,
+                  5, 6, 7, 8,
+                  9, 10, 11, 12,
+                  13, 14, 15, 16};
+        mat.setRowMajord(rowMajor);
+    }
+protected:
+    virtual void performTest() {
+        for (int i = 0; i < 10; ++i) {
+            mat.setIdentity();
+        }
+    }
+private:
+    SkMatrix44 mat;
+    typedef Matrix44Bench INHERITED;
+};
+
 class PreScaleMatrix44Bench : public Matrix44Bench {
 public:
     PreScaleMatrix44Bench(void* param) : INHERITED(param, "prescale") {
@@ -232,6 +253,7 @@ private:
     typedef Matrix44Bench INHERITED;
 };
 
+DEF_BENCH( return new SetIdentityMatrix44Bench(p); )
 DEF_BENCH( return new EqualsMatrix44Bench(p); )
 DEF_BENCH( return new PreScaleMatrix44Bench(p); )
 DEF_BENCH( return new PostScaleMatrix44Bench(p); )