| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  * Copyright 2012 Google Inc. |    2  * Copyright 2012 Google Inc. | 
|    3  * |    3  * | 
|    4  * Use of this source code is governed by a BSD-style license that can be |    4  * Use of this source code is governed by a BSD-style license that can be | 
|    5  * found in the LICENSE file. |    5  * found in the LICENSE file. | 
|    6  */ |    6  */ | 
|    7  |    7  | 
|    8 #include "Benchmark.h" |    8 #include "Benchmark.h" | 
|    9 #include "SkMatrix44.h" |    9 #include "SkMatrix44.h" | 
|   10 #include "SkRandom.h" |   10 #include "SkRandom.h" | 
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  109     typedef Matrix44Bench INHERITED; |  109     typedef Matrix44Bench INHERITED; | 
|  110 }; |  110 }; | 
|  111  |  111  | 
|  112 class InvertMatrix44Bench : public Matrix44Bench { |  112 class InvertMatrix44Bench : public Matrix44Bench { | 
|  113 public: |  113 public: | 
|  114     InvertMatrix44Bench() |  114     InvertMatrix44Bench() | 
|  115         : INHERITED("invert") |  115         : INHERITED("invert") | 
|  116         , fM0(SkMatrix44::kUninitialized_Constructor) |  116         , fM0(SkMatrix44::kUninitialized_Constructor) | 
|  117         , fM1(SkMatrix44::kUninitialized_Constructor) |  117         , fM1(SkMatrix44::kUninitialized_Constructor) | 
|  118     { |  118     { | 
|  119         fM0.set(0, 0, -1.1); |  119         fM0.setDouble(0, 0, -1.1); | 
|  120         fM0.set(0, 1, 2.1); |  120         fM0.setDouble(0, 1, 2.1); | 
|  121         fM0.set(0, 2, -3.1); |  121         fM0.setDouble(0, 2, -3.1); | 
|  122         fM0.set(0, 3, 4.1); |  122         fM0.setDouble(0, 3, 4.1); | 
|  123         fM0.set(1, 0, 5.1); |  123         fM0.setDouble(1, 0, 5.1); | 
|  124         fM0.set(1, 1, -6.1); |  124         fM0.setDouble(1, 1, -6.1); | 
|  125         fM0.set(1, 2, 7.1); |  125         fM0.setDouble(1, 2, 7.1); | 
|  126         fM0.set(1, 3, 8.1); |  126         fM0.setDouble(1, 3, 8.1); | 
|  127         fM0.set(2, 0, -9.1); |  127         fM0.setDouble(2, 0, -9.1); | 
|  128         fM0.set(2, 1, 10.1); |  128         fM0.setDouble(2, 1, 10.1); | 
|  129         fM0.set(2, 2, 11.1); |  129         fM0.setDouble(2, 2, 11.1); | 
|  130         fM0.set(2, 3, -12.1); |  130         fM0.setDouble(2, 3, -12.1); | 
|  131         fM0.set(3, 0, -13.1); |  131         fM0.setDouble(3, 0, -13.1); | 
|  132         fM0.set(3, 1, 14.1); |  132         fM0.setDouble(3, 1, 14.1); | 
|  133         fM0.set(3, 2, -15.1); |  133         fM0.setDouble(3, 2, -15.1); | 
|  134         fM0.set(3, 3, 16.1); |  134         fM0.setDouble(3, 3, 16.1); | 
|  135     } |  135     } | 
|  136 protected: |  136 protected: | 
|  137     virtual void performTest() { |  137     virtual void performTest() { | 
|  138         for (int i = 0; i < 10; ++i) { |  138         for (int i = 0; i < 10; ++i) { | 
|  139             fM0.invert(&fM1); |  139             fM0.invert(&fM1); | 
|  140         } |  140         } | 
|  141     } |  141     } | 
|  142 private: |  142 private: | 
|  143     SkMatrix44 fM0, fM1; |  143     SkMatrix44 fM0, fM1; | 
|  144     typedef Matrix44Bench INHERITED; |  144     typedef Matrix44Bench INHERITED; | 
|  145 }; |  145 }; | 
|  146  |  146  | 
|  147 class InvertAffineMatrix44Bench : public Matrix44Bench { |  147 class InvertAffineMatrix44Bench : public Matrix44Bench { | 
|  148 public: |  148 public: | 
|  149     InvertAffineMatrix44Bench() |  149     InvertAffineMatrix44Bench() | 
|  150         : INHERITED("invertaffine") |  150         : INHERITED("invertaffine") | 
|  151         , fM0(SkMatrix44::kIdentity_Constructor) |  151         , fM0(SkMatrix44::kIdentity_Constructor) | 
|  152         , fM1(SkMatrix44::kUninitialized_Constructor) |  152         , fM1(SkMatrix44::kUninitialized_Constructor) | 
|  153     { |  153     { | 
|  154         fM0.set(0, 0, -1.1); |  154         fM0.setDouble(0, 0, -1.1); | 
|  155         fM0.set(0, 1, 2.1); |  155         fM0.setDouble(0, 1, 2.1); | 
|  156         fM0.set(0, 2, -3.1); |  156         fM0.setDouble(0, 2, -3.1); | 
|  157         fM0.set(0, 3, 4.1); |  157         fM0.setDouble(0, 3, 4.1); | 
|  158         fM0.set(1, 0, 5.1); |  158         fM0.setDouble(1, 0, 5.1); | 
|  159         fM0.set(1, 1, -6.1); |  159         fM0.setDouble(1, 1, -6.1); | 
|  160         fM0.set(1, 2, 7.1); |  160         fM0.setDouble(1, 2, 7.1); | 
|  161         fM0.set(1, 3, 8.1); |  161         fM0.setDouble(1, 3, 8.1); | 
|  162         fM0.set(2, 0, -9.1); |  162         fM0.setDouble(2, 0, -9.1); | 
|  163         fM0.set(2, 1, 10.1); |  163         fM0.setDouble(2, 1, 10.1); | 
|  164         fM0.set(2, 2, 11.1); |  164         fM0.setDouble(2, 2, 11.1); | 
|  165         fM0.set(2, 3, -12.1); |  165         fM0.setDouble(2, 3, -12.1); | 
|  166         // bottom row (perspective component) remains (0, 0, 0, 1). |  166         // bottom row (perspective component) remains (0, 0, 0, 1). | 
|  167     } |  167     } | 
|  168 protected: |  168 protected: | 
|  169     virtual void performTest() { |  169     virtual void performTest() { | 
|  170         for (int i = 0; i < 10; ++i) { |  170         for (int i = 0; i < 10; ++i) { | 
|  171             fM0.invert(&fM1); |  171             fM0.invert(&fM1); | 
|  172         } |  172         } | 
|  173     } |  173     } | 
|  174 private: |  174 private: | 
|  175     SkMatrix44 fM0, fM1; |  175     SkMatrix44 fM0, fM1; | 
|  176     typedef Matrix44Bench INHERITED; |  176     typedef Matrix44Bench INHERITED; | 
|  177 }; |  177 }; | 
|  178  |  178  | 
|  179 class InvertScaleTranslateMatrix44Bench : public Matrix44Bench { |  179 class InvertScaleTranslateMatrix44Bench : public Matrix44Bench { | 
|  180 public: |  180 public: | 
|  181     InvertScaleTranslateMatrix44Bench() |  181     InvertScaleTranslateMatrix44Bench() | 
|  182         : INHERITED("invertscaletranslate") |  182         : INHERITED("invertscaletranslate") | 
|  183         , fM0(SkMatrix44::kIdentity_Constructor) |  183         , fM0(SkMatrix44::kIdentity_Constructor) | 
|  184         , fM1(SkMatrix44::kUninitialized_Constructor) |  184         , fM1(SkMatrix44::kUninitialized_Constructor) | 
|  185     { |  185     { | 
|  186         fM0.set(0, 0, -1.1); |  186         fM0.setDouble(0, 0, -1.1); | 
|  187         fM0.set(0, 3, 4.1); |  187         fM0.setDouble(0, 3, 4.1); | 
|  188  |  188  | 
|  189         fM0.set(1, 1, -6.1); |  189         fM0.setDouble(1, 1, -6.1); | 
|  190         fM0.set(1, 3, 8.1); |  190         fM0.setDouble(1, 3, 8.1); | 
|  191  |  191  | 
|  192         fM0.set(2, 2, 11.1); |  192         fM0.setDouble(2, 2, 11.1); | 
|  193         fM0.set(2, 3, -12.1); |  193         fM0.setDouble(2, 3, -12.1); | 
|  194     } |  194     } | 
|  195 protected: |  195 protected: | 
|  196     virtual void performTest() { |  196     virtual void performTest() { | 
|  197         for (int i = 0; i < 10; ++i) { |  197         for (int i = 0; i < 10; ++i) { | 
|  198             fM0.invert(&fM1); |  198             fM0.invert(&fM1); | 
|  199         } |  199         } | 
|  200     } |  200     } | 
|  201 private: |  201 private: | 
|  202     SkMatrix44 fM0, fM1; |  202     SkMatrix44 fM0, fM1; | 
|  203     typedef Matrix44Bench INHERITED; |  203     typedef Matrix44Bench INHERITED; | 
|  204 }; |  204 }; | 
|  205  |  205  | 
|  206 class InvertTranslateMatrix44Bench : public Matrix44Bench { |  206 class InvertTranslateMatrix44Bench : public Matrix44Bench { | 
|  207 public: |  207 public: | 
|  208     InvertTranslateMatrix44Bench() |  208     InvertTranslateMatrix44Bench() | 
|  209         : INHERITED("inverttranslate") |  209         : INHERITED("inverttranslate") | 
|  210         , fM0(SkMatrix44::kIdentity_Constructor) |  210         , fM0(SkMatrix44::kIdentity_Constructor) | 
|  211         , fM1(SkMatrix44::kUninitialized_Constructor) |  211         , fM1(SkMatrix44::kUninitialized_Constructor) | 
|  212     { |  212     { | 
|  213         fM0.set(0, 3, 4.1); |  213         fM0.setDouble(0, 3, 4.1); | 
|  214         fM0.set(1, 3, 8.1); |  214         fM0.setDouble(1, 3, 8.1); | 
|  215         fM0.set(2, 3, -12.1); |  215         fM0.setDouble(2, 3, -12.1); | 
|  216     } |  216     } | 
|  217 protected: |  217 protected: | 
|  218     virtual void performTest() { |  218     virtual void performTest() { | 
|  219         for (int i = 0; i < 10; ++i) { |  219         for (int i = 0; i < 10; ++i) { | 
|  220             fM0.invert(&fM1); |  220             fM0.invert(&fM1); | 
|  221         } |  221         } | 
|  222     } |  222     } | 
|  223 private: |  223 private: | 
|  224     SkMatrix44 fM0, fM1; |  224     SkMatrix44 fM0, fM1; | 
|  225     typedef Matrix44Bench INHERITED; |  225     typedef Matrix44Bench INHERITED; | 
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  305 DEF_BENCH( return new EqualsMatrix44Bench(); ) |  305 DEF_BENCH( return new EqualsMatrix44Bench(); ) | 
|  306 DEF_BENCH( return new PreScaleMatrix44Bench(); ) |  306 DEF_BENCH( return new PreScaleMatrix44Bench(); ) | 
|  307 DEF_BENCH( return new PostScaleMatrix44Bench(); ) |  307 DEF_BENCH( return new PostScaleMatrix44Bench(); ) | 
|  308 DEF_BENCH( return new InvertMatrix44Bench(); ) |  308 DEF_BENCH( return new InvertMatrix44Bench(); ) | 
|  309 DEF_BENCH( return new InvertAffineMatrix44Bench(); ) |  309 DEF_BENCH( return new InvertAffineMatrix44Bench(); ) | 
|  310 DEF_BENCH( return new InvertScaleTranslateMatrix44Bench(); ) |  310 DEF_BENCH( return new InvertScaleTranslateMatrix44Bench(); ) | 
|  311 DEF_BENCH( return new InvertTranslateMatrix44Bench(); ) |  311 DEF_BENCH( return new InvertTranslateMatrix44Bench(); ) | 
|  312 DEF_BENCH( return new SetConcatMatrix44Bench(true); ) |  312 DEF_BENCH( return new SetConcatMatrix44Bench(true); ) | 
|  313 DEF_BENCH( return new SetConcatMatrix44Bench(false); ) |  313 DEF_BENCH( return new SetConcatMatrix44Bench(false); ) | 
|  314 DEF_BENCH( return new GetTypeMatrix44Bench(); ) |  314 DEF_BENCH( return new GetTypeMatrix44Bench(); ) | 
| OLD | NEW |