| # 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/linux/pkg_config.gni") |
| import("//ui/ozone/ozone.gni") |
| |
| declare_args() { |
| use_mesa_platform_null = false |
| use_drm_atomic = false |
| } |
| |
| pkg_config("libdrm") { |
| packages = [ "libdrm" ] |
| } |
| |
| source_set("drm_common") { |
| sources = [ |
| "common/drm_gpu_test_helper_inprocess.cc", |
| "common/drm_util.cc", |
| "common/drm_util.h", |
| "common/inprocess_messages.cc", |
| "common/inprocess_messages.h", |
| "common/scoped_drm_types.cc", |
| "common/scoped_drm_types.h", |
| "gpu/crtc_controller.cc", |
| "gpu/crtc_controller.h", |
| "gpu/drm_buffer.cc", |
| "gpu/drm_buffer.h", |
| "gpu/drm_console_buffer.cc", |
| "gpu/drm_console_buffer.h", |
| "gpu/drm_device.cc", |
| "gpu/drm_device.h", |
| "gpu/drm_device_generator.cc", |
| "gpu/drm_device_generator.h", |
| "gpu/drm_device_manager.cc", |
| "gpu/drm_device_manager.h", |
| "gpu/drm_display.cc", |
| "gpu/drm_display.h", |
| "gpu/drm_gpu_display_manager.cc", |
| "gpu/drm_gpu_display_manager.h", |
| "gpu/drm_gpu_platform_support.cc", |
| "gpu/drm_gpu_platform_support.h", |
| "gpu/drm_gpu_platform_support_inprocess.cc", |
| "gpu/drm_surface.cc", |
| "gpu/drm_surface.h", |
| "gpu/drm_surface_factory.cc", |
| "gpu/drm_surface_factory.h", |
| "gpu/drm_vsync_provider.cc", |
| "gpu/drm_vsync_provider.h", |
| "gpu/drm_window.cc", |
| "gpu/drm_window.h", |
| "gpu/hardware_display_controller.cc", |
| "gpu/hardware_display_controller.h", |
| "gpu/hardware_display_plane.cc", |
| "gpu/hardware_display_plane.h", |
| "gpu/hardware_display_plane_manager.cc", |
| "gpu/hardware_display_plane_manager.h", |
| "gpu/hardware_display_plane_manager_legacy.cc", |
| "gpu/hardware_display_plane_manager_legacy.h", |
| "gpu/overlay_plane.cc", |
| "gpu/overlay_plane.h", |
| "gpu/page_flip_request.cc", |
| "gpu/page_flip_request.h", |
| "gpu/scanout_buffer.h", |
| "gpu/screen_manager.cc", |
| "gpu/screen_manager.h", |
| "host/channel_observer.h", |
| "host/drm_cursor.cc", |
| "host/drm_cursor.h", |
| "host/drm_device_handle.cc", |
| "host/drm_device_handle.h", |
| "host/drm_display_host.cc", |
| "host/drm_display_host.h", |
| "host/drm_display_host_manager.cc", |
| "host/drm_display_host_manager.h", |
| "host/drm_gpu_platform_support_host.cc", |
| "host/drm_gpu_platform_support_host.h", |
| "host/drm_gpu_platform_support_host_inprocess.cc", |
| "host/drm_native_display_delegate.cc", |
| "host/drm_native_display_delegate.h", |
| "host/drm_overlay_candidates_host.cc", |
| "host/drm_overlay_candidates_host.h", |
| "host/drm_overlay_manager.cc", |
| "host/drm_overlay_manager.h", |
| "host/drm_window_host.cc", |
| "host/drm_window_host.h", |
| "host/drm_window_host_manager.cc", |
| "host/drm_window_host_manager.h", |
| "mojo/drm_gpu_delegate.cc", |
| "mojo/drm_gpu_delegate.h", |
| "mojo/drm_gpu_impl.cc", |
| "mojo/drm_gpu_impl.h", |
| "mojo/drm_host_delegate.cc", |
| "mojo/drm_host_delegate.h", |
| "mojo/drm_host_impl.cc", |
| "mojo/drm_host_impl.h", |
| "mojo/drm_ipc_init_helper.cc", |
| ] |
| |
| defines = [ "OZONE_IMPLEMENTATION" ] |
| |
| if (use_drm_atomic) { |
| defines += [ "USE_DRM_ATOMIC" ] |
| sources += [ |
| "gpu/hardware_display_plane_atomic.cc", |
| "gpu/hardware_display_plane_atomic.h", |
| "gpu/hardware_display_plane_manager_atomic.cc", |
| "gpu/hardware_display_plane_manager_atomic.h", |
| ] |
| } |
| |
| if (is_fnl) { |
| defines += [ "FORCE_DISPATCH_TOUCH_EVENTS" ] |
| } |
| |
| deps = [ |
| "//base", |
| "//skia", |
| "//mojo/application", |
| "//mojo/common", |
| "//mojo/converters/geometry", |
| "//mojo/converters/ozone_drm_gpu", |
| "//mojo/services/ozone_drm_gpu/interfaces", |
| "//mojo/services/ozone_drm_host/interfaces", |
| "//ui/base", |
| "//ui/display/types", |
| "//ui/display/util", |
| "//ui/events", |
| "//ui/events/devices", |
| "//ui/events/ozone:events_ozone", |
| "//ui/events/ozone:events_ozone_evdev", |
| "//ui/events/ozone:events_ozone_layout", |
| "//ui/events/platform", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| "//ui/ozone:ozone_base", |
| "//ui/ozone:ozone_common_message_types", |
| "//ui/platform_window", |
| ] |
| |
| public_configs = [ ":libdrm" ] |
| } |
| |
| if (ozone_platform_dri || ozone_platform_drm) { |
| source_set("drm") { |
| sources = [ |
| "ozone_platform_drm.cc", |
| "ozone_platform_drm.h", |
| ] |
| |
| deps = [ |
| ":drm_common", |
| "//base", |
| "//skia", |
| "//ui/base", |
| "//ui/ozone:ozone_base", |
| "//ui/events/ozone:events_ozone", |
| "//ui/events/ozone:events_ozone_evdev", |
| "//ui/events/ozone:events_ozone_layout", |
| ] |
| } |
| } |
| |
| if (ozone_platform_dri || ozone_platform_drm || ozone_platform_gbm) { |
| source_set("drm_unittests") { |
| testonly = true |
| sources = [ |
| "gpu/drm_surface_unittest.cc", |
| "gpu/drm_window_unittest.cc", |
| "gpu/hardware_display_controller_unittest.cc", |
| "gpu/hardware_display_plane_manager_unittest.cc", |
| "gpu/screen_manager_unittest.cc", |
| "test/mock_drm_device.cc", |
| "test/mock_drm_device.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//mojo/public/c/system:for_shared_library", |
| "//skia", |
| "//testing/gtest", |
| "//ui/ozone", |
| "//ui/ozone:ozone_base", |
| "//ui/ozone/platform/drm:drm_common", |
| ] |
| |
| public_configs = [ ":libdrm" ] |
| } |
| } |
| |
| if (ozone_platform_gbm) { |
| pkg_config("libgbm") { |
| packages = [ "gbm" ] |
| } |
| |
| source_set("gbm") { |
| sources = [ |
| "gpu/gbm_buffer.cc", |
| "gpu/gbm_buffer.h", |
| "gpu/gbm_buffer_base.cc", |
| "gpu/gbm_buffer_base.h", |
| "gpu/gbm_device.cc", |
| "gpu/gbm_device.h", |
| "gpu/gbm_surface.cc", |
| "gpu/gbm_surface.h", |
| "gpu/gbm_surface_factory.cc", |
| "gpu/gbm_surface_factory.h", |
| "gpu/gbm_surfaceless.cc", |
| "gpu/gbm_surfaceless.h", |
| "ozone_platform_gbm.cc", |
| "ozone_platform_gbm.h", |
| ] |
| |
| deps = [ |
| ":drm_common", |
| "//base", |
| "//skia", |
| "//ui/base", |
| "//ui/events/ozone:events_ozone", |
| "//ui/events/ozone:events_ozone_evdev", |
| "//ui/events/ozone:events_ozone_layout", |
| "//ui/gfx/geometry", |
| "//ui/ozone:ozone_base", |
| ] |
| |
| public_configs = [ |
| ":libgbm", |
| "//third_party/khronos:khronos_headers", |
| ] |
| |
| if (use_mesa_platform_null) { |
| defines += [ "USE_MESA_PLATFORM_NULL" ] |
| } |
| } |
| } |