Re-land "Link C++ histogram support into angle_perftests."

This is the first step in uploading histogram data instead of a gtest
special format. We  importing several new libraries:

- tools/protoc_wrapper
- third_party/protobuf
- third_party/catapult (was already used for Android)

No functional change. Only affects compilation. Protobuf support is
disabled when not available.

Bug: angleproject:5161
Change-Id: I64be0977648993b1012ff0d9e0439c5876697e36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497221
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This commit is contained in:
Jamie Madill 2020-10-11 17:16:34 -04:00 коммит произвёл Commit Bot
Родитель 6422d3b467
Коммит acd15cae93
6 изменённых файлов: 30 добавлений и 1 удалений

2
.gitignore поставляемый
Просмотреть файл

@ -43,6 +43,7 @@
/third_party/libpng/src
/third_party/llvm-build
/third_party/nasm
/third_party/protobuf
/third_party/Python-Markdown
/third_party/qemu-linux-x64
/third_party/qemu-mac-x64
@ -71,6 +72,7 @@
/tools/mb
/tools/md_browser
/tools/memory
/tools/protoc_wrapper
/tools/skia_goldctl
angle_debug.txt
build

3
.gn
Просмотреть файл

@ -36,4 +36,7 @@ default_args = {
clang_use_chrome_plugins = true
build_angle_deqp_tests = true
use_sysroot = true
# Saves on importing extra dependencies and ANGLE doesn't use JS.
enable_js_protobuf = false
}

12
DEPS
Просмотреть файл

@ -134,7 +134,7 @@ deps = {
'third_party/catapult': {
'url': '{chromium_git}/catapult.git@{catapult_revision}',
'condition': 'checkout_android and not build_with_chromium',
'condition': 'not build_with_chromium',
},
# Cherry is a dEQP/VK-GL-CTS management GUI written in Go. We use it for viewing test results.
@ -197,6 +197,11 @@ deps = {
'condition': 'not build_with_chromium',
},
'third_party/protobuf': {
'url': '{chromium_git}/chromium/src/third_party/protobuf@d044036fd85e658918bf9fb58bc0f083945f952f',
'condition': 'not build_with_chromium',
},
'third_party/Python-Markdown': {
'url': '{chromium_git}/chromium/src/third_party/Python-Markdown@ad4fc19d612de0a3f6ea19441af703ff5a5223f3',
'condition': 'not build_with_chromium',
@ -328,6 +333,11 @@ deps = {
'condition': 'not build_with_chromium',
},
'tools/protoc_wrapper': {
'url': '{chromium_git}/chromium/src/tools/protoc_wrapper@203790d7975787dd77c3d870dadb9e4fdc9c907b',
'condition': 'not build_with_chromium',
},
'tools/skia_goldctl/linux': {
'packages': [
{

Просмотреть файл

@ -77,6 +77,9 @@ for abi in ${abis[@]}; do
"angle_enable_hlsl = false"
"angle_enable_commit_id = false"
# Disable histogram/protobuf support
"angle_has_histograms = false"
)
gn gen ${GN_OUTPUT_DIRECTORY} --args="${gn_args[*]}"

Просмотреть файл

@ -35,8 +35,10 @@ ANGLE_CHROMIUM_DEPS = [
'buildtools',
'testing',
'third_party/abseil-cpp',
'third_party/catapult',
'third_party/libjpeg_turbo',
'third_party/nasm',
'third_party/protobuf',
'third_party/Python-Markdown',
'third_party/qemu-linux-x64',
'third_party/qemu-mac-x64',
@ -47,6 +49,7 @@ ANGLE_CHROMIUM_DEPS = [
'tools/mb',
'tools/md_browser',
'tools/memory',
'tools/protoc_wrapper',
'tools/skia_goldctl/linux',
'tools/skia_goldctl/mac',
'tools/skia_goldctl/win',

Просмотреть файл

@ -16,6 +16,10 @@ declare_args() {
is_win || is_linux || is_chromeos || is_android || is_mac || is_fuchsia
}
declare_args() {
angle_has_histograms = build_angle_perftests && angle_has_build
}
angle_test("test_utils_unittest_helper") {
sources = [
"../../util/test_utils_unittest_helper.cpp",
@ -248,6 +252,10 @@ template("angle_perftests_common") {
deps = [ "$angle_jsoncpp_dir:jsoncpp" ]
public_deps = [ "${invoker.test_utils}" ]
public_configs += [ "${angle_root}:libANGLE_config" ]
if (angle_has_histograms) {
deps += [ "//third_party/catapult/tracing/tracing:histogram" ]
}
}
}