Hash :
11d94d86
Author :
Date :
2020-09-23T15:16:19
Integrate Skia Gold with restricted trace tests. The implementation is based heavily on the Chromium Skia Gold Python classes in //build/skia_gold_common . Results will be visible here: https://angle-gold.skia.org/ Currently results are not visible until this CL lands. Bug: angleproject:4090 Bug: b/168049670 Change-Id: I7a5d64fe35583ad7ea6360804a0f6b72cd9f6d8b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430179 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brian Sheedy <bsheedy@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
# Copyright 2020 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# Contains the build rules for confidential trace tests.
import("../../../gni/angle.gni")
angle_shared_library("angle_restricted_traces") {
testonly = true
# Imports "angle_restricted_traces"
import("restricted_traces_autogen.gni")
sources = [
"angle_trace_gl.h",
"restricted_traces_autogen.cpp",
"restricted_traces_autogen.h",
"trace_egl_loader_autogen.cpp",
"trace_egl_loader_autogen.h",
"trace_gles_loader_autogen.cpp",
"trace_gles_loader_autogen.h",
]
data = []
defines = [ "ANGLE_TRACE_IMPLEMENTATION" ]
include_dirs = [ "." ]
foreach(_test_info, angle_restricted_traces) {
_test_and_ctx = []
_test_and_ctx = string_split(_test_info)
_test = _test_and_ctx[0]
_ctx = _test_and_ctx[1]
_test_dir = "${_test}"
_test_ctx = "${_test_dir}/${_test}_capture_context${_ctx}"
# Similar to capture replay sample, use the file index for sources
sources += rebase_path(read_file("${_test_ctx}_files.txt", "list lines"),
".",
"${_test_dir}") +
[
"${_test_ctx}.cpp",
"${_test_ctx}.h",
]
data += [ "${_test_dir}/${_test}_capture_context${_ctx}.angledata.gz" ]
}
deps = [
"$angle_root:angle_common",
"$angle_root/util:angle_util",
]
suppressed_configs += [ "$angle_root:constructor_and_destructor_warnings" ]
# Disable optimization in the trace perf tests to avoid optimizing huge files.
if (!is_debug) {
suppressed_configs += [
"//build/config/compiler:afdo",
"//build/config/compiler:afdo_optimize_size",
"//build/config/compiler:default_optimization",
"//build/config/compiler/pgo:default_pgo_flags",
]
configs += [ "//build/config/compiler:no_optimize" ]
}
}
group("goldctl") {
data = []
# Because this links to a CIPD dependency, which is a symlink on Unix
# platforms, refer to the actual executable rather than the whole directory;
# copying the whole directory doesn't work, at least with "mb.py zip".
if (is_win) {
data += [ "//tools/skia_goldctl/win/goldctl.exe" ]
} else if (is_mac) {
data += [ "//tools/skia_goldctl/mac/goldctl" ]
} else {
data += [ "//tools/skia_goldctl/linux/goldctl" ]
}
}
group("angle_restricted_trace_gold_tests") {
testonly = true
data_deps = [
":goldctl",
"$angle_root/src/tests:angle_perftests",
"$angle_root/src/tests:angle_system_info_test",
]
data = [
"restricted_trace_gold_tests.py",
"restricted_traces.json",
"skia_gold/",
"//build/skia_gold_common/",
"//testing/scripts/common.py",
"//testing/xvfb.py",
]
}