summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhizhou Yang <zhizhouy@google.com>2017-09-11 23:41:24 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-09-11 23:41:24 +0000
commita69712a83def706dbf203f628240aebf641aeebe (patch)
tree552059d1c28f4b2f3fc3a513b73e88279548d19e
parente490e41370b5bae8b51a2047ce075b823873d34c (diff)
parenta168e370bbbc25b799fd5c2614c6c7c926ffef97 (diff)
downloadbenchmark-a69712a83def706dbf203f628240aebf641aeebe.tar.gz
Merge "Fix bugs caused by Hwui and Skia syncing"
am: a168e370bb Change-Id: I575b925e6b37e74de292b49fc9a1a8e050623dd0
-rw-r--r--Binder_flags_aosp.diff2
-rw-r--r--Binder_flags_internal.diff2
-rw-r--r--Hwui_flags_aosp.diff50
-rw-r--r--Hwui_flags_internal.diff42
-rw-r--r--Skia_flags_aosp.diff46
-rw-r--r--Skia_flags_internal.diff4
-rwxr-xr-xapply_patches.py22
-rwxr-xr-xdiscard_patches.py6
-rw-r--r--skia_aosp.diff62
-rw-r--r--skia_internal.diff61
10 files changed, 66 insertions, 231 deletions
diff --git a/Binder_flags_aosp.diff b/Binder_flags_aosp.diff
index 1e3ec6c8..5492b91e 100644
--- a/Binder_flags_aosp.diff
+++ b/Binder_flags_aosp.diff
@@ -6,7 +6,7 @@ index f7347aef1..a539fac47 100644
"-Wall",
"-Wextra",
"-Werror",
-+ CFLAGS_FOR_BENCH_SUITE
++ CFLAGS_FOR_BENCH_SUITE
],
+ ldflags: [LDFLAGS_FOR_BENCH_SUITE],
product_variables: {
diff --git a/Binder_flags_internal.diff b/Binder_flags_internal.diff
index 1e3ec6c8..5492b91e 100644
--- a/Binder_flags_internal.diff
+++ b/Binder_flags_internal.diff
@@ -6,7 +6,7 @@ index f7347aef1..a539fac47 100644
"-Wall",
"-Wextra",
"-Werror",
-+ CFLAGS_FOR_BENCH_SUITE
++ CFLAGS_FOR_BENCH_SUITE
],
+ ldflags: [LDFLAGS_FOR_BENCH_SUITE],
product_variables: {
diff --git a/Hwui_flags_aosp.diff b/Hwui_flags_aosp.diff
index 9e3b1df7..bf4a3cec 100644
--- a/Hwui_flags_aosp.diff
+++ b/Hwui_flags_aosp.diff
@@ -1,16 +1,12 @@
diff --git a/libs/hwui/Android.bp b/libs/hwui/Android.bp
-index 558cdc0faf3..1565be5b201 100644
+index ae4eabf94d0..b7f758f1ca5 100644
--- a/libs/hwui/Android.bp
+++ b/libs/hwui/Android.bp
-@@ -24,12 +24,15 @@ cc_defaults {
- "-Werror",
- "-fvisibility=hidden",
- "-DHWUI_NEW_OPS",
-+ CFLAGS_FOR_BENCH_SUITE
-
- // GCC false-positives on this warning, and since we -Werror that's
- // a problem
- "-Wno-free-nonheap-object",
+@@ -33,8 +33,11 @@ cc_defaults {
+ // TODO: Linear blending should be enabled by default, but we are
+ // TODO: making it an opt-in while it's a work in progress
+ //"-DANDROID_ENABLE_LINEAR_BLENDING",
++ CFLAGS_FOR_BENCH_SUITE
],
+ ldflags: [LDFLAGS_FOR_BENCH_SUITE],
@@ -18,7 +14,7 @@ index 558cdc0faf3..1565be5b201 100644
include_dirs: [
"external/skia/include/private",
"external/skia/src/core",
-@@ -214,6 +217,9 @@ cc_defaults {
+@@ -236,6 +239,9 @@ cc_defaults {
export_proto_headers: true,
},
@@ -26,25 +22,27 @@ index 558cdc0faf3..1565be5b201 100644
+ ldflags: [LDFLAGS_FOR_BENCH_SUITE],
+
export_include_dirs: ["."],
+ export_shared_lib_headers: ["libRScpp"],
}
+@@ -350,6 +356,9 @@ cc_benchmark {
+ whole_static_libs: ["libhwui"],
+ shared_libs: ["libmemunreachable"],
-@@ -229,7 +235,8 @@ cc_library {
- cc_library_static {
- name: "libhwui_static_null_gpu",
- defaults: ["libhwui_defaults"],
-- cflags: ["-DHWUI_NULL_GPU"],
-+ cflags: ["-DHWUI_NULL_GPU", CFLAGS_FOR_BENCH_SUITE],
++ cflags: [CFLAGS_FOR_BENCH_SUITE],
+ ldflags: [LDFLAGS_FOR_BENCH_SUITE],
++
srcs: [
- "debug/nullegl.cpp",
- "debug/nullgles.cpp",
-@@ -319,7 +326,8 @@ cc_benchmark {
- name: "hwuimicro",
- defaults: ["hwui_test_defaults"],
+ "tests/macrobench/TestSceneRunner.cpp",
+ "tests/macrobench/main.cpp",
+@@ -367,8 +376,11 @@ cc_benchmark {
+ cflags: [
+ "-include debug/wrap_gles.h",
+ "-DHWUI_NULL_GPU",
++ CFLAGS_FOR_BENCH_SUITE
+ ],
-- cflags: ["-DHWUI_NULL_GPU"],
-+ cflags: ["-DHWUI_NULL_GPU", CFLAGS_FOR_BENCH_SUITE],
+ ldflags: [LDFLAGS_FOR_BENCH_SUITE],
++
+ whole_static_libs: ["libhwui_static_debug"],
+ shared_libs: ["libmemunreachable"],
- whole_static_libs: ["libhwui_static_null_gpu"],
-
diff --git a/Hwui_flags_internal.diff b/Hwui_flags_internal.diff
index 16a02229..ff0f4e7f 100644
--- a/Hwui_flags_internal.diff
+++ b/Hwui_flags_internal.diff
@@ -1,17 +1,12 @@
diff --git a/libs/hwui/Android.bp b/libs/hwui/Android.bp
-index 303d05f084a..946aa9bb754 100644
+index ae4eabf94d0..23c95465221 100644
--- a/libs/hwui/Android.bp
+++ b/libs/hwui/Android.bp
-@@ -17,6 +17,7 @@ cc_defaults {
- "-Wunreachable-code",
- "-Werror",
- "-fvisibility=hidden",
-+ CFLAGS_FOR_BENCH_SUITE
-
- // GCC false-positives on this warning, and since we -Werror that's
- // a problem
-@@ -30,6 +31,8 @@ cc_defaults {
+@@ -33,8 +33,11 @@ cc_defaults {
+ // TODO: Linear blending should be enabled by default, but we are
+ // TODO: making it an opt-in while it's a work in progress
//"-DANDROID_ENABLE_LINEAR_BLENDING",
++ CFLAGS_FOR_BENCH_SUITE
],
+ ldflags: [LDFLAGS_FOR_BENCH_SUITE],
@@ -19,7 +14,7 @@ index 303d05f084a..946aa9bb754 100644
include_dirs: [
"external/skia/include/private",
"external/skia/src/core",
-@@ -231,6 +234,9 @@ cc_defaults {
+@@ -236,6 +239,9 @@ cc_defaults {
export_proto_headers: true,
},
@@ -29,26 +24,7 @@ index 303d05f084a..946aa9bb754 100644
export_include_dirs: ["."],
export_shared_lib_headers: ["libRScpp"],
}
-@@ -240,7 +246,7 @@ cc_library {
- defaults: [
- "libhwui_defaults",
-
-- // Enables fine-grained GLES error checking
-+ // Enables fine-grained GLES error checking
- // If enabled, every GLES call is wrapped & error checked
- // Has moderate overhead
- "hwui_enable_opengl_validation",
-@@ -257,7 +263,8 @@ cc_library_static {
- "libhwui_defaults",
- "hwui_debug",
- ],
-- cflags: ["-DHWUI_NULL_GPU"],
-+ cflags: ["-DHWUI_NULL_GPU", CFLAGS_FOR_BENCH_SUITE],
-+ ldflags: [LDFLAGS_FOR_BENCH_SUITE],
- srcs: [
- "debug/nullegl.cpp",
- ],
-@@ -354,6 +361,9 @@ cc_benchmark {
+@@ -350,6 +356,9 @@ cc_benchmark {
whole_static_libs: ["libhwui"],
shared_libs: ["libmemunreachable"],
@@ -58,11 +34,11 @@ index 303d05f084a..946aa9bb754 100644
srcs: [
"tests/macrobench/TestSceneRunner.cpp",
"tests/macrobench/main.cpp",
-@@ -371,8 +381,11 @@ cc_benchmark {
+@@ -367,8 +376,11 @@ cc_benchmark {
cflags: [
"-include debug/wrap_gles.h",
"-DHWUI_NULL_GPU",
-+ CFLAGS_FOR_BENCH_SUITE
++ CFLAGS_FOR_BENCH_SUITE
],
+ ldflags: [LDFLAGS_FOR_BENCH_SUITE],
diff --git a/Skia_flags_aosp.diff b/Skia_flags_aosp.diff
index b2ff2426..13beaeba 100644
--- a/Skia_flags_aosp.diff
+++ b/Skia_flags_aosp.diff
@@ -1,28 +1,40 @@
diff --git a/Android.bp b/Android.bp
-index a581b0a53..36159c5ae 100644
+index d259f8f13e..b87fccc7b6 100644
--- a/Android.bp
+++ b/Android.bp
-@@ -40,8 +40,11 @@ cc_library {
- "-Wno-clobbered",
- "-Wno-error",
- "-fexceptions",
-+ CFLAGS_FOR_BENCH_SUITE
+@@ -9,8 +9,11 @@ cc_library {
+ "-D_FORTIFY_SOURCE=1",
+ "-DSKIA_IMPLEMENTATION=1",
+ "-DATRACE_TAG=ATRACE_TAG_VIEW",
++ CFLAGS_FOR_BENCH_SUITE
],
+ ldflags: [LDFLAGS_FOR_BENCH_SUITE],
+
- cppflags: [
- "-std=c++11",
- "-fno-threadsafe-statics",
-@@ -1470,8 +1473,11 @@ cc_test {
- "-U_FORTIFY_SOURCE",
- "-D_FORTIFY_SOURCE=1",
- "-DSKIA_IMPLEMENTATION=1",
-+ CFLAGS_FOR_BENCH_SUITE
+ export_include_dirs: [
+ "include/android/",
+ "include/c/",
+@@ -845,8 +848,11 @@ cc_test {
+
+ cflags: [
+ "-Wno-unused-parameter",
++ CFLAGS_FOR_BENCH_SUITE
+ ],
+
++ ldflags: [LDFLAGS_FOR_BENCH_SUITE],
++
+ local_include_dirs: [
+ "experimental/svg/model/",
+ "gm/",
+@@ -1602,8 +1608,11 @@ cc_test {
+
+ cflags: [
+ "-Wno-unused-parameter",
++ CFLAGS_FOR_BENCH_SUITE
],
+ ldflags: [LDFLAGS_FOR_BENCH_SUITE],
+
- cppflags: [
- "-std=c++11",
- "-fno-threadsafe-statics",
+ local_include_dirs: [
+ "bench/",
+ "experimental/svg/model/",
diff --git a/Skia_flags_internal.diff b/Skia_flags_internal.diff
index 2eb6a1d6..aefb2bdf 100644
--- a/Skia_flags_internal.diff
+++ b/Skia_flags_internal.diff
@@ -6,7 +6,7 @@ index b4e1f5f701..13e1c6645f 100644
"-D_FORTIFY_SOURCE=1",
"-DSKIA_IMPLEMENTATION=1",
"-DATRACE_TAG=ATRACE_TAG_VIEW",
-+ CFLAGS_FOR_BENCH_SUITE
++ CFLAGS_FOR_BENCH_SUITE
],
+ ldflags: [LDFLAGS_FOR_BENCH_SUITE],
@@ -16,7 +16,7 @@ index b4e1f5f701..13e1c6645f 100644
cflags: [
"-Wno-unused-parameter",
-+ CFLAGS_FOR_BENCH_SUITE
++ CFLAGS_FOR_BENCH_SUITE
],
+ ldflags: [LDFLAGS_FOR_BENCH_SUITE],
diff --git a/apply_patches.py b/apply_patches.py
index 4134ccf6..dd7f825a 100755
--- a/apply_patches.py
+++ b/apply_patches.py
@@ -16,27 +16,6 @@ import subprocess
# The patches to be added to the android repo.
# An error may occur if it is already patched, or meets some error.
# FIXME: Needs to be FIXED in the future.
-def try_patch_skia():
- skia_dir = os.path.join(config.android_home, config.bench_dict['Skia'])
- # You may want to change the file based on aosp or internal
- if config.android_type == 'internal':
- print('No need to patch skia for internal repo.')
- return
- elif config.android_type == 'aosp':
- skia_patch = os.path.join(
- os.path.dirname(os.path.realpath(__file__)), 'skia_aosp.diff')
- else:
- raise ValueError('Adnroid source type should be either aosp or '
- 'internal.')
- # FIXME: A quick hack, need to handle errors and check whether has been
- # applied in the future.
- try:
- subprocess.check_call(['git', '-C', skia_dir, 'apply', skia_patch])
- print('Skia patched successfully!')
- except subprocess.CalledProcessError:
- print('Skia patch not applied, error or already patched.')
-
-
def try_patch_autotest():
# Patch autotest, which includes all the testcases on device,
# setting device, and running the benchmarks
@@ -101,7 +80,6 @@ def try_patch_synthmark():
def main():
- try_patch_skia()
try_patch_panorama()
try_patch_autotest()
try_patch_synthmark()
diff --git a/discard_patches.py b/discard_patches.py
index a6383f6b..00c457ef 100755
--- a/discard_patches.py
+++ b/discard_patches.py
@@ -22,11 +22,6 @@ def discard_git(path):
print('Error while removing patch in %s' % path)
-def dispatch_skia():
- skia_dir = os.path.join(config.android_home, config.bench_dict['Skia'])
- discard_git(skia_dir)
-
-
def dispatch_autotest():
autotest_dir = os.path.join(config.android_home, config.autotest_dir)
discard_git(autotest_dir)
@@ -55,7 +50,6 @@ def dispatch_synthmark():
def main():
- dispatch_skia()
dispatch_autotest()
dispatch_panorama()
dispatch_synthmark()
diff --git a/skia_aosp.diff b/skia_aosp.diff
deleted file mode 100644
index 269e02a0..00000000
--- a/skia_aosp.diff
+++ /dev/null
@@ -1,62 +0,0 @@
-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 ae415fa..22011cd 100644
---- a/bench/nanobench.cpp
-+++ b/bench/nanobench.cpp
-@@ -42,6 +42,7 @@
- #include "SkSurface.h"
- #include "SkTaskGroup.h"
- #include "SkThreadUtils.h"
-+#include "SkTypes.h"
- #include "ThermalManager.h"
-
- #include <stdlib.h>
-@@ -1173,7 +1174,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());
-@@ -1197,6 +1198,7 @@ int nanobench_main() {
- benchStream.fillCurrentOptions(log.get());
- target->fillOptions(log.get());
- log->metric("min_ms", stats.min);
- log->metric("median_ms", stats.median);
-+ log->metrics("samples", samples);
- #if SK_SUPPORT_GPU
- if (gpuStatsDump) {
- // dump to json, only SKPBench currently returns valid keys / values
diff --git a/skia_internal.diff b/skia_internal.diff
deleted file mode 100644
index f6b1961a..00000000
--- a/skia_internal.diff
+++ /dev/null
@@ -1,61 +0,0 @@
-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