| # Copyright 2016 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/ui.gni") |
| import("//mojo/public/tools/bindings/mojom.gni") |
| |
| group("common") { |
| if (is_component_build) { |
| public_deps = [ |
| "//gpu", |
| ] |
| } else { |
| public_deps = [ |
| ":ipc_common_sources", |
| ] |
| } |
| } |
| |
| group("command_buffer_traits") { |
| if (is_component_build) { |
| public_deps = [ |
| "//gpu", |
| ] |
| } else { |
| public_deps = [ |
| ":command_buffer_traits_sources", |
| ] |
| } |
| } |
| |
| source_set("command_buffer_traits_sources") { |
| # External code should depend on this via |
| # //gpu/ipc/common:command_buffer_traits above rather than depending on this |
| # directly or the component build will break. |
| visibility = [ "//gpu/*" ] |
| |
| sources = [ |
| "gpu_command_buffer_traits.cc", |
| "gpu_command_buffer_traits.h", |
| "gpu_command_buffer_traits_multi.h", |
| ] |
| |
| configs += [ |
| "//gpu:gpu_implementation", |
| "//third_party/khronos:khronos_headers", |
| ] |
| |
| public_deps = [ |
| "//gpu/command_buffer/common:common_sources", |
| "//ipc", |
| ] |
| |
| deps = [ |
| "//base", |
| "//gpu/command_buffer/common:gles2_utils", |
| "//ui/gfx/ipc", |
| "//ui/gfx/ipc/geometry", |
| ] |
| } |
| |
| source_set("ipc_common_sources") { |
| # External code should depend on this via //gpu/ipc/common above rather than |
| # depending on this directly or the component build will break. |
| visibility = [ "//gpu/*" ] |
| |
| sources = [ |
| "gpu_memory_buffer_support.cc", |
| "gpu_memory_buffer_support.h", |
| "gpu_message_generator.cc", |
| "gpu_message_generator.h", |
| "gpu_messages.h", |
| "gpu_param_traits.cc", |
| "gpu_param_traits.h", |
| "gpu_param_traits_macros.h", |
| "memory_stats.cc", |
| "memory_stats.h", |
| ] |
| |
| configs += [ |
| "//gpu:gpu_implementation", |
| "//third_party/khronos:khronos_headers", |
| ] |
| |
| public_deps = [ |
| ":command_buffer_traits_sources", |
| ":surface_handle_type", |
| "//gpu/command_buffer/common:gles2_utils", |
| "//ipc", |
| ] |
| |
| deps = [ |
| "//base", |
| "//gpu/command_buffer/common:common_sources", |
| "//gpu/config:config_sources", |
| "//ui/base", |
| "//ui/gfx/ipc", |
| "//ui/gfx/ipc/geometry", |
| "//ui/gl", |
| "//ui/latency/ipc", |
| "//url/ipc:url_ipc", |
| ] |
| |
| if (is_android) { |
| sources += [ |
| "android/scoped_surface_request_conduit.cc", |
| "android/scoped_surface_request_conduit.h", |
| ] |
| } |
| |
| if (is_mac || is_android) { |
| sources += [ |
| "gpu_surface_lookup.cc", |
| "gpu_surface_lookup.h", |
| "gpu_surface_tracker.cc", |
| "gpu_surface_tracker.h", |
| ] |
| } |
| |
| if (use_ozone) { |
| deps += [ "//ui/ozone" ] |
| } |
| } |
| |
| # Depend on this to use surface_handle.h without pulling in all of gpu ipc. |
| source_set("surface_handle_type") { |
| public = [ |
| "surface_handle.h", |
| ] |
| |
| public_deps = [ |
| "//ui/gfx:native_widget_types", |
| ] |
| } |
| |
| mojom("interfaces") { |
| sources = [ |
| "capabilities.mojom", |
| "dx_diag_node.mojom", |
| "gpu_feature_info.mojom", |
| "gpu_info.mojom", |
| "gpu_preferences.mojom", |
| "mailbox.mojom", |
| "mailbox_holder.mojom", |
| "memory_stats.mojom", |
| "surface_handle.mojom", |
| "sync_token.mojom", |
| ] |
| |
| public_deps = [ |
| "//mojo/common:common_custom_types", |
| "//ui/gfx/geometry/mojo", |
| ] |
| } |
| |
| mojom("test_interfaces") { |
| testonly = true |
| sources = [ |
| "traits_test_service.mojom", |
| ] |
| |
| public_deps = [ |
| ":interfaces", |
| ] |
| } |
| |
| source_set("struct_traits") { |
| sources = [ |
| "mailbox_holder_struct_traits.h", |
| "mailbox_struct_traits.h", |
| "memory_stats_struct_traits.h", |
| "surface_handle_struct_traits.h", |
| "sync_token_struct_traits.h", |
| ] |
| deps = [ |
| ":interfaces_shared_cpp_sources", |
| ":surface_handle_type", |
| "//gpu/command_buffer/common", |
| "//gpu/ipc/common", |
| "//mojo/public/cpp/bindings:bindings", |
| ] |
| } |