Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1420)

Unified Diff: dm/DMBenchTask.h

Issue 178473006: DM: also run benches once. (Closed) Base URL: https://skia.googlesource.com/skia.git@dm
Patch Set: add note Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « dm/DM.cpp ('k') | dm/DMBenchTask.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: dm/DMBenchTask.h
diff --git a/dm/DMBenchTask.h b/dm/DMBenchTask.h
new file mode 100644
index 0000000000000000000000000000000000000000..1e9bc9912ef7175a3db35c870095d27465946da4
--- /dev/null
+++ b/dm/DMBenchTask.h
@@ -0,0 +1,67 @@
+#ifndef DMBenchTask_DEFINED
+#define DMBenchTask_DEFINED
+
+#include "DMReporter.h"
+#include "DMTask.h"
+#include "DMTaskRunner.h"
+#include "SkBenchmark.h"
+#include "SkString.h"
+#include "SkTemplates.h"
+
+// Tasks that run an SkBenchmark once as a check that it doesn't crash.
+
+namespace DM {
+
+class NonRenderingBenchTask : public Task {
+public:
+ NonRenderingBenchTask(const char* config, Reporter*, TaskRunner*, BenchRegistry::Factory);
+
+ virtual void draw() SK_OVERRIDE;
+ virtual bool usesGpu() const SK_OVERRIDE { return false; }
+ virtual bool shouldSkip() const SK_OVERRIDE;
+ virtual SkString name() const SK_OVERRIDE { return fName; }
+
+private:
+ SkAutoTDelete<SkBenchmark> fBench;
+ const SkString fName;
+};
+
+class CpuBenchTask : public Task {
+public:
+ CpuBenchTask(const char* config, Reporter*, TaskRunner*, BenchRegistry::Factory, SkColorType);
+
+ virtual void draw() SK_OVERRIDE;
+ virtual bool usesGpu() const SK_OVERRIDE { return false; }
+ virtual bool shouldSkip() const SK_OVERRIDE;
+ virtual SkString name() const SK_OVERRIDE { return fName; }
+
+private:
+ SkAutoTDelete<SkBenchmark> fBench;
+ const SkString fName;
+ const SkColorType fColorType;
+};
+
+class GpuBenchTask : public Task {
+public:
+ GpuBenchTask(const char* config,
+ Reporter*,
+ TaskRunner*,
+ BenchRegistry::Factory,
+ GrContextFactory::GLContextType,
+ int sampleCount);
+
+ virtual void draw() SK_OVERRIDE;
+ virtual bool usesGpu() const SK_OVERRIDE { return true; }
+ virtual bool shouldSkip() const SK_OVERRIDE;
+ virtual SkString name() const SK_OVERRIDE { return fName; }
+
+private:
+ SkAutoTDelete<SkBenchmark> fBench;
+ const SkString fName;
+ const GrContextFactory::GLContextType fContextType;
+ int fSampleCount;
+};
+
+} // namespace DM
+
+#endif // DMBenchTask_DEFINED
« no previous file with comments | « dm/DM.cpp ('k') | dm/DMBenchTask.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698