diff options
Diffstat (limited to 'bench/Matrix44Bench.cpp')
-rw-r--r-- | bench/Matrix44Bench.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/bench/Matrix44Bench.cpp b/bench/Matrix44Bench.cpp index 7baf82ae4d..c3692889fc 100644 --- a/bench/Matrix44Bench.cpp +++ b/bench/Matrix44Bench.cpp @@ -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); ) |