blob: c5ae8d38019b239eb1844dca317b5a9227c23421 [file] [log] [blame]
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/chrome_build.gni")
import("//build/config/chromecast_build.gni")
import("//build/config/ui.gni")
group("config") {
if (is_component_build) {
public_deps = [
"//gpu",
]
} else {
public_deps = [
":config_sources",
]
}
}
# This needs to be a small target, because it links into both chrome.exe and
# chrome.dll targets. If this target grows, that will lead to a size regression.
# See https://crbug.com/703622
source_set("crash_keys") {
sources = [
"gpu_crash_keys.cc",
"gpu_crash_keys.h",
]
}
process_json_outputs = [
"$target_gen_dir/gpu_driver_bug_list_arrays_and_structs_autogen.h",
"$target_gen_dir/gpu_driver_bug_list_autogen.cc",
"$target_gen_dir/gpu_driver_bug_list_autogen.h",
"$target_gen_dir/gpu_driver_bug_list_exceptions_autogen.h",
"$target_gen_dir/software_rendering_list_arrays_and_structs_autogen.h",
"$target_gen_dir/software_rendering_list_autogen.cc",
"$target_gen_dir/software_rendering_list_autogen.h",
"$target_gen_dir/software_rendering_list_exceptions_autogen.h",
]
action("process_json") {
script = "process_json.py"
inputs = [
"gpu_driver_bug_list.json",
"gpu_driver_bug_workaround_type.h",
"gpu_feature_type.h",
"software_rendering_list.json",
]
outputs = process_json_outputs
args = [
"--output-dir",
rebase_path("$target_gen_dir", root_build_dir),
"--skip-testing-data",
"--os-filter",
]
if (is_win) {
args += [ "win" ]
} else if (is_mac) {
args += [ "macosx" ]
} else if (is_android) {
args += [ "android" ]
} else if (is_chromeos) {
args += [ "chromeos" ]
} else if (is_fuchsia) {
args += [ "fuchsia" ]
} else {
args += [ "linux" ]
}
}
source_set("config_sources") {
# External code should depend on this via //gpu/config above rather than
# depending on this directly or the component build will break.
visibility = [ "//gpu/*" ]
sources = [
"dx_diag_node.cc",
"dx_diag_node.h",
"gpu_blacklist.cc",
"gpu_blacklist.h",
"gpu_control_list.cc",
"gpu_control_list.h",
"gpu_driver_bug_list.cc",
"gpu_driver_bug_list.h",
"gpu_driver_bug_workaround_type.h",
"gpu_driver_bug_workarounds.cc",
"gpu_driver_bug_workarounds.h",
"gpu_dx_diagnostics_win.cc",
"gpu_feature_info.cc",
"gpu_feature_info.h",
"gpu_feature_type.h",
"gpu_finch_features.cc",
"gpu_finch_features.h",
"gpu_info.cc",
"gpu_info.h",
"gpu_info_collector.cc",
"gpu_info_collector.h",
"gpu_info_collector_android.cc",
"gpu_info_collector_linux.cc",
"gpu_info_collector_mac.mm",
"gpu_info_collector_win.cc",
"gpu_switches.cc",
"gpu_switches.h",
"gpu_test_config.cc",
"gpu_test_config.h",
"gpu_test_expectations_parser.cc",
"gpu_test_expectations_parser.h",
"gpu_util.cc",
"gpu_util.h",
]
if (is_fuchsia) {
sources += [ "gpu_info_collector_fuchsia.cc" ]
}
sources += process_json_outputs
configs += [
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
"//build/config/compiler:no_size_t_to_int_warning",
"//gpu:gpu_implementation",
]
deps = [
":crash_keys",
":process_json",
"//base",
"//third_party/re2",
"//ui/gl",
"//ui/gl/init",
]
# Prefer mesa GL headers to system headers, which cause problems on Win.
include_dirs = [ "//third_party/mesa/src/include" ]
if (is_win) {
libs = [
"dxguid.lib",
"setupapi.lib",
]
if (is_chrome_branded && is_official_build) {
sources += [
"//third_party/amd/AmdCfxPxExt.h",
"//third_party/amd/amd_videocard_info_win.cc",
]
}
}
if (is_linux || is_mac) {
deps += [ "//third_party/angle:angle_gpu_info_util" ]
}
}