Index: bench/ColorCodecBench.h |
diff --git a/bench/ColorCodecBench.h b/bench/ColorCodecBench.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3a99ef74472bf48cdde57bb6bf88a59a37f46975 |
--- /dev/null |
+++ b/bench/ColorCodecBench.h |
@@ -0,0 +1,40 @@ |
+/* |
+ * Copyright 2016 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#ifndef ColorCodecBench_DEFINED |
+#define ColorCodecBench_DEFINED |
+ |
+#include "Benchmark.h" |
+#include "SkData.h" |
+#include "SkImageInfo.h" |
+ |
+class ColorCodecBench : public Benchmark { |
+public: |
+ ColorCodecBench(const char* name, sk_sp<SkData> encoded); |
+ |
+protected: |
+ const char* onGetName() override; |
+ bool isSuitableFor(Backend backend) override; |
+ void onDraw(int n, SkCanvas* canvas) override; |
+ void onDelayedSetup() override; |
+ |
+private: |
+ typedef void (*Proc)(SkData* encoded, void* dst, void* srcRow, const SkImageInfo& info, |
+ SkData* dstProfile, SkData* srcProfile); |
+ |
+ SkString fName; |
+ sk_sp<SkData> fEncoded; |
+ SkImageInfo fInfo; |
+ SkAutoMalloc fDst; |
+ SkAutoMalloc fSrcRow; |
+ sk_sp<SkData> fDstProfile; |
+ sk_sp<SkData> fSrcProfile; |
+ Proc fProc; |
+ |
+ typedef Benchmark INHERITED; |
+}; |
+#endif // ColorCodecBench_DEFINED |