aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench
diff options
context:
space:
mode:
authorGravatar kkinnunen <kkinnunen@nvidia.com>2014-11-13 05:00:57 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2014-11-13 05:00:57 -0800
commitc092d3bdab5f723576cc0346cea3ee282a9cb444 (patch)
treed2a5ecf4ded3f126e2968d6ad7b4b05c1d536bfa /bench
parent5adbf1b57988eaad84d6615395c90a08b7ea225a (diff)
Make nanobench and dm be usable from Chromium build
Move the app logic for each app as follows: <app>.cpp -- the file which contains main(). Embedders that compile their own apps, such as ios shell, upcoming Chromium dm etc, do not use this. <app>_main.cpp -- the main logic of the Skia test application. This will be used by Skia -compiled apps as well as embedder -compiled apps. <app>_main.h -- the API for the main logic. This will be used by Skia -compiled apps as well as embedder -compiled apps. This way (the upcoming) Chromium dm can setup its Chromium-specific setup in custom main(), and then call dm_main(), without the need of any SK_BUILD_FOR_XXXX defines controlling whether the tool defines main or not. BUG=skia:2992 Review URL: https://codereview.chromium.org/657373002
Diffstat (limited to 'bench')
-rw-r--r--bench/nanobench.cpp8
-rw-r--r--bench/nanobench.h13
-rw-r--r--bench/nanobench_main.cpp18
3 files changed, 31 insertions, 8 deletions
diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
index 1f5ae60f82..baa109ede7 100644
--- a/bench/nanobench.cpp
+++ b/bench/nanobench.cpp
@@ -572,9 +572,7 @@ private:
int fCurrentSKP;
};
-int nanobench_main();
int nanobench_main() {
- SetupCrashHandler();
SkAutoGraphics ag;
#if SK_SUPPORT_GPU
@@ -752,9 +750,3 @@ int nanobench_main() {
return 0;
}
-#if !defined SK_BUILD_FOR_IOS
-int main(int argc, char** argv) {
- SkCommandLineFlags::Parse(argc, argv);
- return nanobench_main();
-}
-#endif
diff --git a/bench/nanobench.h b/bench/nanobench.h
new file mode 100644
index 0000000000..4616747382
--- /dev/null
+++ b/bench/nanobench.h
@@ -0,0 +1,13 @@
+/*
+ * Copyright 2014 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+#ifndef nanobench_DEFINED
+#define nanobench_DEFINED
+
+// API for nanobench app.
+int nanobench_main();
+
+#endif
diff --git a/bench/nanobench_main.cpp b/bench/nanobench_main.cpp
new file mode 100644
index 0000000000..a598adc264
--- /dev/null
+++ b/bench/nanobench_main.cpp
@@ -0,0 +1,18 @@
+/*
+ * Copyright 2014 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+
+#include "CrashHandler.h"
+#include "SkCommandLineFlags.h"
+#include "nanobench.h"
+
+int main(int argc, char * const argv[]) {
+ SetupCrashHandler();
+ SkCommandLineFlags::Parse(argc, const_cast<char**>(argv));
+ return nanobench_main();
+
+}