aboutsummaryrefslogtreecommitdiff
path: root/android_bench_suite/skia_internal.diff
diff options
context:
space:
mode:
Diffstat (limited to 'android_bench_suite/skia_internal.diff')
-rw-r--r--android_bench_suite/skia_internal.diff61
1 files changed, 61 insertions, 0 deletions
diff --git a/android_bench_suite/skia_internal.diff b/android_bench_suite/skia_internal.diff
new file mode 100644
index 00000000..f6b1961a
--- /dev/null
+++ b/android_bench_suite/skia_internal.diff
@@ -0,0 +1,61 @@
+diff --git a/bench/ResultsWriter.h b/bench/ResultsWriter.h
+index f56deae..69a84c7 100644
+--- a/bench/ResultsWriter.h
++++ b/bench/ResultsWriter.h
+@@ -46,6 +46,9 @@ public:
+ // Record a single test metric.
+ virtual void metric(const char name[], double ms) {}
+
++ // Record a list of test metrics.
++ virtual void metrics(const char name[], const SkTArray<double> &array) {}
++
+ // Flush to storage now please.
+ virtual void flush() {}
+ };
+@@ -113,6 +116,17 @@ public:
+ SkASSERT(fConfig);
+ (*fConfig)[name] = ms;
+ }
++ void metrics(const char name[], const SkTArray<double> &array) override {
++ // The user who wrote this feature prefers NaNs over not having results.
++ // Hence, this ignores whether we have NaNs.
++ SkASSERT(fConfig);
++ Json::Value value = Json::Value(Json::arrayValue);
++ value.resize(array.count());
++ for (unsigned i = 0, e = array.count(); i != e; ++i) {
++ value[i] = array[i];
++ }
++ (*fConfig)[name] = value;
++ }
+
+ // Flush to storage now please.
+ void flush() override {
+diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
+index 0651302..0623d61 100644
+--- a/bench/nanobench.cpp
++++ b/bench/nanobench.cpp
+@@ -43,6 +43,7 @@
+ #include "SkSVGDOM.h"
+ #include "SkTaskGroup.h"
+ #include "SkThreadUtils.h"
++#include "SkTypes.h"
+ #include "ThermalManager.h"
+ #include "SkScan.h"
+
+@@ -1240,7 +1241,7 @@ int nanobench_main() {
+ target->setup();
+ bench->perCanvasPreDraw(canvas);
+
+- int maxFrameLag;
++ int maxFrameLag = 0;
+ int loops = target->needsFrameTiming(&maxFrameLag)
+ ? setup_gpu_bench(target, bench.get(), maxFrameLag)
+ : setup_cpu_bench(overhead, target, bench.get());
+@@ -1290,6 +1291,7 @@ int nanobench_main() {
+ benchStream.fillCurrentOptions(log.get());
+ target->fillOptions(log.get());
+ log->metric("min_ms", stats.min);
++ log->metrics("samples", samples);
+ #if SK_SUPPORT_GPU
+ if (gpuStatsDump) {
+ // dump to json, only SKPBench currently returns valid keys / values