BUILD.gn 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657
  1. # Copyright 2017 The Chromium Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style license that can be
  3. # found in the LICENSE file.
  4. import("//build/config/chromeos/ui_mode.gni")
  5. import("//build/config/ozone.gni")
  6. import("//build/config/ui.gni")
  7. import("//components/viz/viz.gni")
  8. import("//gpu/vulkan/features.gni")
  9. import("//media/gpu/args.gni")
  10. import("//skia/features.gni")
  11. import("//testing/libfuzzer/fuzzer_test.gni")
  12. config("viz_service_implementation") {
  13. }
  14. viz_component("service") {
  15. sources = [
  16. "debugger/rwlock.cc",
  17. "debugger/rwlock.h",
  18. "debugger/viz_debugger.cc",
  19. "debugger/viz_debugger.h",
  20. "display/aggregated_frame.cc",
  21. "display/aggregated_frame.h",
  22. "display/bsp_tree.cc",
  23. "display/bsp_tree.h",
  24. "display/bsp_walk_action.cc",
  25. "display/bsp_walk_action.h",
  26. "display/damage_frame_annotator.cc",
  27. "display/damage_frame_annotator.h",
  28. "display/delegated_ink_handler.cc",
  29. "display/delegated_ink_handler.h",
  30. "display/delegated_ink_point_renderer_base.cc",
  31. "display/delegated_ink_point_renderer_base.h",
  32. "display/delegated_ink_point_renderer_skia.cc",
  33. "display/delegated_ink_point_renderer_skia.h",
  34. "display/delegated_ink_trail_data.cc",
  35. "display/delegated_ink_trail_data.h",
  36. "display/direct_renderer.cc",
  37. "display/direct_renderer.h",
  38. "display/display.cc",
  39. "display/display.h",
  40. "display/display_client.h",
  41. "display/display_compositor_memory_and_task_controller.cc",
  42. "display/display_compositor_memory_and_task_controller.h",
  43. "display/display_damage_tracker.cc",
  44. "display/display_damage_tracker.h",
  45. "display/display_resource_provider.cc",
  46. "display/display_resource_provider.h",
  47. "display/display_resource_provider_null.cc",
  48. "display/display_resource_provider_null.h",
  49. "display/display_resource_provider_skia.cc",
  50. "display/display_resource_provider_skia.h",
  51. "display/display_resource_provider_software.cc",
  52. "display/display_resource_provider_software.h",
  53. "display/display_scheduler.cc",
  54. "display/display_scheduler.h",
  55. "display/display_scheduler_base.cc",
  56. "display/display_scheduler_base.h",
  57. "display/draw_polygon.cc",
  58. "display/draw_polygon.h",
  59. "display/external_use_client.cc",
  60. "display/external_use_client.h",
  61. "display/frame_rate_decider.cc",
  62. "display/frame_rate_decider.h",
  63. "display/null_renderer.cc",
  64. "display/null_renderer.h",
  65. "display/output_surface.cc",
  66. "display/output_surface.h",
  67. "display/output_surface_client.h",
  68. "display/output_surface_frame.cc",
  69. "display/output_surface_frame.h",
  70. "display/overlay_candidate.cc",
  71. "display/overlay_candidate.h",
  72. "display/overlay_candidate_factory.cc",
  73. "display/overlay_candidate_factory.h",
  74. "display/overlay_candidate_temporal_tracker.cc",
  75. "display/overlay_candidate_temporal_tracker.h",
  76. "display/overlay_processor_interface.cc",
  77. "display/overlay_processor_interface.h",
  78. "display/overlay_processor_on_gpu.cc",
  79. "display/overlay_processor_on_gpu.h",
  80. "display/overlay_processor_stub.cc",
  81. "display/overlay_processor_stub.h",
  82. "display/pending_swap_params.cc",
  83. "display/pending_swap_params.h",
  84. "display/renderer_utils.cc",
  85. "display/renderer_utils.h",
  86. "display/resolved_frame_data.cc",
  87. "display/resolved_frame_data.h",
  88. "display/resource_fence.h",
  89. "display/shared_bitmap_manager.h",
  90. "display/skia_output_surface.cc",
  91. "display/skia_output_surface.h",
  92. "display/skia_renderer.cc",
  93. "display/skia_renderer.h",
  94. "display/software_output_device.cc",
  95. "display/software_output_device.h",
  96. "display/software_renderer.cc",
  97. "display/software_renderer.h",
  98. "display/surface_aggregator.cc",
  99. "display/surface_aggregator.h",
  100. "display_embedder/buffer_queue.cc",
  101. "display_embedder/buffer_queue.h",
  102. "display_embedder/compositor_gpu_thread.cc",
  103. "display_embedder/compositor_gpu_thread.h",
  104. "display_embedder/image_context_impl.cc",
  105. "display_embedder/image_context_impl.h",
  106. "display_embedder/in_process_gpu_memory_buffer_manager.cc",
  107. "display_embedder/in_process_gpu_memory_buffer_manager.h",
  108. "display_embedder/output_presenter.cc",
  109. "display_embedder/output_presenter.h",
  110. "display_embedder/output_presenter_gl.cc",
  111. "display_embedder/output_presenter_gl.h",
  112. "display_embedder/output_surface_provider.h",
  113. "display_embedder/output_surface_provider_impl.cc",
  114. "display_embedder/output_surface_provider_impl.h",
  115. "display_embedder/server_shared_bitmap_manager.cc",
  116. "display_embedder/server_shared_bitmap_manager.h",
  117. "display_embedder/skia_output_device.cc",
  118. "display_embedder/skia_output_device.h",
  119. "display_embedder/skia_output_device_buffer_queue.cc",
  120. "display_embedder/skia_output_device_buffer_queue.h",
  121. "display_embedder/skia_output_device_gl.cc",
  122. "display_embedder/skia_output_device_gl.h",
  123. "display_embedder/skia_output_device_offscreen.cc",
  124. "display_embedder/skia_output_device_offscreen.h",
  125. "display_embedder/skia_output_device_webview.cc",
  126. "display_embedder/skia_output_device_webview.h",
  127. "display_embedder/skia_output_surface_dependency.h",
  128. "display_embedder/skia_output_surface_dependency_impl.cc",
  129. "display_embedder/skia_output_surface_dependency_impl.h",
  130. "display_embedder/skia_output_surface_impl.cc",
  131. "display_embedder/skia_output_surface_impl.h",
  132. "display_embedder/skia_output_surface_impl_on_gpu.cc",
  133. "display_embedder/skia_output_surface_impl_on_gpu.h",
  134. "display_embedder/skia_render_copy_results.cc",
  135. "display_embedder/skia_render_copy_results.h",
  136. "display_embedder/software_output_surface.cc",
  137. "display_embedder/software_output_surface.h",
  138. "display_embedder/vsync_parameter_listener.cc",
  139. "display_embedder/vsync_parameter_listener.h",
  140. "frame_sinks/begin_frame_tracker.cc",
  141. "frame_sinks/begin_frame_tracker.h",
  142. "frame_sinks/compositor_frame_sink_impl.cc",
  143. "frame_sinks/compositor_frame_sink_impl.h",
  144. "frame_sinks/compositor_frame_sink_support.cc",
  145. "frame_sinks/compositor_frame_sink_support.h",
  146. "frame_sinks/external_begin_frame_source_mojo.cc",
  147. "frame_sinks/external_begin_frame_source_mojo.h",
  148. "frame_sinks/frame_sink_bundle_impl.cc",
  149. "frame_sinks/frame_sink_bundle_impl.h",
  150. "frame_sinks/frame_sink_manager_impl.cc",
  151. "frame_sinks/frame_sink_manager_impl.h",
  152. "frame_sinks/frame_sink_observer.h",
  153. "frame_sinks/gmb_video_frame_pool_context_provider.h",
  154. "frame_sinks/gmb_video_frame_pool_context_provider_impl.cc",
  155. "frame_sinks/gmb_video_frame_pool_context_provider_impl.h",
  156. "frame_sinks/gpu_vsync_begin_frame_source.cc",
  157. "frame_sinks/gpu_vsync_begin_frame_source.h",
  158. "frame_sinks/root_compositor_frame_sink_impl.cc",
  159. "frame_sinks/root_compositor_frame_sink_impl.h",
  160. "frame_sinks/surface_resource_holder.cc",
  161. "frame_sinks/surface_resource_holder.h",
  162. "frame_sinks/surface_resource_holder_client.h",
  163. "frame_sinks/video_capture/capturable_frame_sink.h",
  164. "frame_sinks/video_capture/frame_sink_video_capturer_impl.cc",
  165. "frame_sinks/video_capture/frame_sink_video_capturer_impl.h",
  166. "frame_sinks/video_capture/frame_sink_video_capturer_manager.h",
  167. "frame_sinks/video_capture/gpu_memory_buffer_video_frame_pool.cc",
  168. "frame_sinks/video_capture/gpu_memory_buffer_video_frame_pool.h",
  169. "frame_sinks/video_capture/in_flight_frame_delivery.cc",
  170. "frame_sinks/video_capture/in_flight_frame_delivery.h",
  171. "frame_sinks/video_capture/shared_memory_video_frame_pool.cc",
  172. "frame_sinks/video_capture/shared_memory_video_frame_pool.h",
  173. "frame_sinks/video_capture/video_capture_overlay.cc",
  174. "frame_sinks/video_capture/video_capture_overlay.h",
  175. "frame_sinks/video_capture/video_frame_pool.cc",
  176. "frame_sinks/video_capture/video_frame_pool.h",
  177. "frame_sinks/video_detector.cc",
  178. "frame_sinks/video_detector.h",
  179. "gl/gpu_service_impl.cc",
  180. "gl/gpu_service_impl.h",
  181. "hit_test/hit_test_aggregator.cc",
  182. "hit_test/hit_test_aggregator.h",
  183. "hit_test/hit_test_aggregator_delegate.h",
  184. "hit_test/hit_test_manager.cc",
  185. "hit_test/hit_test_manager.h",
  186. "performance_hint/hint_session.cc",
  187. "performance_hint/hint_session.h",
  188. "performance_hint/utils.cc",
  189. "performance_hint/utils.h",
  190. "surfaces/frame_index_constants.h",
  191. "surfaces/latest_local_surface_id_lookup_delegate.h",
  192. "surfaces/pending_copy_output_request.cc",
  193. "surfaces/pending_copy_output_request.h",
  194. "surfaces/referenced_surface_tracker.cc",
  195. "surfaces/referenced_surface_tracker.h",
  196. "surfaces/surface.cc",
  197. "surfaces/surface.h",
  198. "surfaces/surface_allocation_group.cc",
  199. "surfaces/surface_allocation_group.h",
  200. "surfaces/surface_client.h",
  201. "surfaces/surface_dependency_deadline.cc",
  202. "surfaces/surface_dependency_deadline.h",
  203. "surfaces/surface_manager.cc",
  204. "surfaces/surface_manager.h",
  205. "surfaces/surface_manager_delegate.h",
  206. "surfaces/surface_observer.cc",
  207. "surfaces/surface_observer.h",
  208. "surfaces/surface_reference.cc",
  209. "surfaces/surface_reference.h",
  210. "surfaces/surface_saved_frame.cc",
  211. "surfaces/surface_saved_frame.h",
  212. "surfaces/surface_saved_frame_storage.cc",
  213. "surfaces/surface_saved_frame_storage.h",
  214. "transitions/surface_animation_manager.cc",
  215. "transitions/surface_animation_manager.h",
  216. "transitions/transferable_resource_tracker.cc",
  217. "transitions/transferable_resource_tracker.h",
  218. "viz_service_export.h",
  219. ]
  220. defines = [ "VIZ_SERVICE_IMPLEMENTATION" ]
  221. deps = [
  222. "//build:chromecast_buildflags",
  223. "//build:chromeos_buildflags",
  224. "//cc/base",
  225. "//cc/paint",
  226. "//components/crash/core/common:crash_key",
  227. "//components/power_scheduler",
  228. # Note that dependency on //gpu/ipc/client is for GpuMemoryBufferImpl. This
  229. # dependency should not be in public_deps.
  230. "//components/viz/common",
  231. "//gpu/command_buffer/client",
  232. "//gpu/config",
  233. "//gpu/ipc/client",
  234. "//gpu/ipc/common:common",
  235. "//gpu/ipc/common:surface_handle_type",
  236. "//gpu/ipc/service",
  237. "//gpu/skia_bindings:skia_bindings",
  238. "//gpu/vulkan:buildflags",
  239. "//media",
  240. "//media/capture:capture_lib",
  241. "//media/mojo/services",
  242. "//services/tracing/public/cpp:cpp",
  243. "//services/viz/privileged/mojom",
  244. "//skia",
  245. "//skia:skcms",
  246. "//third_party/libyuv",
  247. "//ui/display/types",
  248. "//ui/gfx/animation/keyframe",
  249. ]
  250. public_deps = [
  251. "//base",
  252. "//cc",
  253. "//cc/debug",
  254. "//components/viz/common",
  255. "//gpu/command_buffer/service:gles2",
  256. "//gpu/ipc/service",
  257. "//gpu/vulkan:buildflags",
  258. "//media/gpu/ipc/service",
  259. "//media/mojo/services",
  260. "//services/viz/privileged/mojom/compositing",
  261. "//services/viz/privileged/mojom/gl",
  262. "//services/viz/public/mojom",
  263. "//skia",
  264. "//ui/base/prediction",
  265. "//ui/gfx",
  266. "//ui/gfx/geometry",
  267. "//ui/latency",
  268. ]
  269. if (is_chromeos_ash) {
  270. sources += [
  271. "display_embedder/output_surface_unified.cc",
  272. "display_embedder/output_surface_unified.h",
  273. ]
  274. deps += [
  275. "//components/chromeos_camera:jpeg_encode_accelerator_service",
  276. "//components/chromeos_camera:mjpeg_decode_accelerator_service",
  277. "//gpu/command_buffer/service:gles2",
  278. "//media/mojo/services",
  279. ]
  280. if (use_v4l2_codec || use_vaapi) {
  281. deps += [ "//ash/components/arc/video_accelerator" ]
  282. }
  283. }
  284. if (is_mac) {
  285. sources += [
  286. "display/ca_layer_overlay.cc",
  287. "display/ca_layer_overlay.h",
  288. "display/overlay_processor_mac.cc",
  289. "display/overlay_processor_mac.h",
  290. "display_embedder/software_output_device_mac.cc",
  291. "display_embedder/software_output_device_mac.h",
  292. ]
  293. deps += [ "//ui/accelerated_widget_mac" ]
  294. frameworks = [ "IOSurface.framework" ]
  295. }
  296. if (is_android || use_ozone) {
  297. sources += [
  298. "display/overlay_combination_cache.cc",
  299. "display/overlay_combination_cache.h",
  300. "display/overlay_processor_strategy.cc",
  301. "display/overlay_processor_strategy.h",
  302. "display/overlay_processor_using_strategy.cc",
  303. "display/overlay_processor_using_strategy.h",
  304. "display/overlay_proposed_candidate.cc",
  305. "display/overlay_proposed_candidate.h",
  306. "display/overlay_strategy_fullscreen.cc",
  307. "display/overlay_strategy_fullscreen.h",
  308. "display/overlay_strategy_single_on_top.cc",
  309. "display/overlay_strategy_single_on_top.h",
  310. "display/overlay_strategy_underlay.cc",
  311. "display/overlay_strategy_underlay.h",
  312. ]
  313. }
  314. if (enable_cast_overlay_strategy) {
  315. sources += [
  316. "display/overlay_strategy_underlay_cast.cc",
  317. "display/overlay_strategy_underlay_cast.h",
  318. ]
  319. deps += [ "//chromecast/media/service/mojom" ]
  320. }
  321. if (is_android) {
  322. sources += [
  323. "display/overlay_processor_android.cc",
  324. "display/overlay_processor_android.h",
  325. "display/overlay_processor_surface_control.cc",
  326. "display/overlay_processor_surface_control.h",
  327. "frame_sinks/external_begin_frame_source_android.cc",
  328. "frame_sinks/external_begin_frame_source_android.h",
  329. "gl/throw_uncaught_exception.cc",
  330. "gl/throw_uncaught_exception.h",
  331. ]
  332. deps += [ ":service_jni_headers" ]
  333. }
  334. if (use_ozone) {
  335. sources += [
  336. "display/overlay_processor_delegated.cc",
  337. "display/overlay_processor_delegated.h",
  338. "display/overlay_processor_ozone.cc",
  339. "display/overlay_processor_ozone.h",
  340. "display_embedder/software_output_device_ozone.cc",
  341. "display_embedder/software_output_device_ozone.h",
  342. ]
  343. public_deps += [ "//ui/ozone" ]
  344. }
  345. if (is_win) {
  346. sources += [
  347. "display/dc_layer_overlay.cc",
  348. "display/dc_layer_overlay.h",
  349. "display/overlay_processor_win.cc",
  350. "display/overlay_processor_win.h",
  351. "display_embedder/output_device_backing.cc",
  352. "display_embedder/output_device_backing.h",
  353. "display_embedder/software_output_device_win.cc",
  354. "display_embedder/software_output_device_win.h",
  355. "gl/info_collection_gpu_service_impl.cc",
  356. "gl/info_collection_gpu_service_impl.h",
  357. ]
  358. # SkiaOutputDeviceBufferQueue doesn't support Windows.
  359. sources -= [
  360. "display_embedder/output_presenter.cc",
  361. "display_embedder/output_presenter.h",
  362. "display_embedder/output_presenter_gl.cc",
  363. "display_embedder/output_presenter_gl.h",
  364. "display_embedder/skia_output_device_buffer_queue.cc",
  365. "display_embedder/skia_output_device_buffer_queue.h",
  366. ]
  367. }
  368. if (is_fuchsia) {
  369. sources += [
  370. "display_embedder/output_presenter_fuchsia.cc",
  371. "display_embedder/output_presenter_fuchsia.h",
  372. ]
  373. }
  374. if (use_vaapi) {
  375. deps += [ "//media/gpu/vaapi" ]
  376. }
  377. if (enable_vulkan) {
  378. deps += [ "//gpu/vulkan" ]
  379. sources += [
  380. "display_embedder/skia_output_device_vulkan.cc",
  381. "display_embedder/skia_output_device_vulkan.h",
  382. ]
  383. if (is_android) {
  384. sources += [
  385. "display_embedder/skia_output_device_vulkan_secondary_cb.cc",
  386. "display_embedder/skia_output_device_vulkan_secondary_cb.h",
  387. ]
  388. }
  389. # TODO(1239521): ideally, ozone_platform_x11 should not be used outside
  390. # ui/ozone.
  391. if (ozone_platform_x11) {
  392. sources += [
  393. "display_embedder/skia_output_device_x11.cc",
  394. "display_embedder/skia_output_device_x11.h",
  395. ]
  396. libs = [ "xshmfence" ]
  397. deps += [
  398. "//ui/base/x",
  399. "//ui/events/platform/x11",
  400. "//ui/gfx/x",
  401. ]
  402. }
  403. }
  404. if (skia_use_dawn && is_win) {
  405. sources += [
  406. "display_embedder/skia_output_device_dawn.cc",
  407. "display_embedder/skia_output_device_dawn.h",
  408. ]
  409. public_deps += [ "//third_party/dawn/include/dawn:headers" ]
  410. deps += [
  411. "//third_party/dawn/src/dawn:cpp",
  412. "//third_party/dawn/src/dawn:proc",
  413. "//third_party/dawn/src/dawn/native",
  414. ]
  415. }
  416. }
  417. viz_source_set("unit_tests") {
  418. testonly = true
  419. sources = [
  420. "debugger/viz_debugger_unittests/viz_debugger_internal.cc",
  421. "debugger/viz_debugger_unittests/viz_debugger_internal.h",
  422. "debugger/viz_debugger_unittests/viz_debugger_multithread_unittest.cc",
  423. "debugger/viz_debugger_unittests/viz_debugger_rwlock_unittest.cc",
  424. "debugger/viz_debugger_unittests/viz_debugger_unittest.cc",
  425. "debugger/viz_debugger_unittests/viz_debugger_unittest_base.cc",
  426. "debugger/viz_debugger_unittests/viz_debugger_unittest_base.h",
  427. "display/bsp_tree_unittest.cc",
  428. "display/copy_output_scaling_pixeltest.cc",
  429. "display/delegated_ink_point_pixel_test_helper.cc",
  430. "display/delegated_ink_point_pixel_test_helper.h",
  431. "display/display_damage_tracker_unittest.cc",
  432. "display/display_resource_provider_skia_unittest.cc",
  433. "display/display_resource_provider_software_unittest.cc",
  434. "display/display_scheduler_unittest.cc",
  435. "display/display_unittest.cc",
  436. "display/draw_polygon_unittest.cc",
  437. "display/frame_rate_decider_unittest.cc",
  438. "display/renderer_pixeltest.cc",
  439. "display/resolved_frame_data_unittest.cc",
  440. "display/skia_readback_pixeltest.cc",
  441. "display/software_renderer_unittest.cc",
  442. "display/surface_aggregator_pixeltest.cc",
  443. "display/surface_aggregator_unittest.cc",
  444. "display/viz_pixel_test.cc",
  445. "display/viz_pixel_test.h",
  446. "display_embedder/buffer_queue_unittest.cc",
  447. "display_embedder/server_shared_bitmap_manager_unittest.cc",
  448. "display_embedder/skia_output_device_buffer_queue_unittest.cc",
  449. "display_embedder/skia_output_surface_impl_unittest.cc",
  450. "display_embedder/software_output_surface_unittest.cc",
  451. "display_embedder/vsync_parameter_listener_unittest.cc",
  452. "frame_sinks/begin_frame_tracker_unittest.cc",
  453. "frame_sinks/compositor_frame_sink_support_unittest.cc",
  454. "frame_sinks/frame_sink_bundle_impl_unittest.cc",
  455. "frame_sinks/frame_sink_manager_unittest.cc",
  456. "frame_sinks/surface_references_unittest.cc",
  457. "frame_sinks/surface_synchronization_unittest.cc",
  458. "frame_sinks/video_capture/frame_sink_video_capturer_impl_unittest.cc",
  459. "frame_sinks/video_capture/shared_memory_video_frame_pool_unittest.cc",
  460. "frame_sinks/video_capture/video_capture_overlay_unittest.cc",
  461. "frame_sinks/video_detector_unittest.cc",
  462. "gl/gpu_service_impl_unittest.cc",
  463. "hit_test/hit_test_aggregator_unittest.cc",
  464. "main/viz_main_impl_unittest.cc",
  465. "surfaces/referenced_surface_tracker_unittest.cc",
  466. "surfaces/surface_saved_frame_unittest.cc",
  467. "surfaces/surface_unittest.cc",
  468. "transitions/surface_animation_manager_unittest.cc",
  469. "transitions/transferable_resource_tracker_unittest.cc",
  470. ]
  471. if (!use_aura && !is_mac) {
  472. sources -= [ "display_embedder/buffer_queue_unittest.cc" ]
  473. }
  474. configs = [ "//third_party/khronos:khronos_headers" ]
  475. deps = [
  476. ":service",
  477. "//base",
  478. "//base/test:test_support",
  479. "//build:chromeos_buildflags",
  480. "//cc:test_support",
  481. "//cc/paint",
  482. "//components/viz/client",
  483. "//components/viz/common",
  484. "//components/viz/host",
  485. "//components/viz/service/main:main",
  486. "//components/viz/test:test_suite",
  487. "//components/viz/test:test_support",
  488. "//gpu/command_buffer/client",
  489. "//gpu/ipc:gl_in_process_context",
  490. "//gpu/ipc/service",
  491. "//media",
  492. "//media/capture:capture_lib",
  493. "//services/viz/public/mojom",
  494. "//skia",
  495. "//testing/gmock",
  496. "//testing/gtest",
  497. "//third_party/libyuv",
  498. "//ui/display/types",
  499. "//ui/gfx:test_support",
  500. "//ui/gl",
  501. ]
  502. if (use_ozone) {
  503. sources += [
  504. "display/overlay_combination_cache_unittest.cc",
  505. "display/overlay_processor_ozone_unittest.cc",
  506. "display/overlay_unittest.cc",
  507. "display_embedder/software_output_device_ozone_unittest.cc",
  508. ]
  509. deps += [
  510. "//ui/base:features",
  511. "//ui/compositor:test_support",
  512. "//ui/ozone",
  513. ]
  514. }
  515. if (is_mac) {
  516. sources += [
  517. "display/overlay_ca_unittest.cc",
  518. "display_embedder/software_output_device_mac_unittest.mm",
  519. ]
  520. frameworks = [ "IOSurface.framework" ]
  521. }
  522. if (is_win) {
  523. sources += [
  524. "display/overlay_dc_unittest.cc",
  525. "display_embedder/output_device_backing_unittest.cc",
  526. "display_embedder/software_output_device_win_unittest.cc",
  527. ]
  528. # SkiaOutputDeviceBufferQueue doesn't support Windows.
  529. sources -=
  530. [ "display_embedder/skia_output_device_buffer_queue_unittest.cc" ]
  531. }
  532. if (is_android) {
  533. sources += [
  534. "display/overlay_combination_cache_unittest.cc",
  535. "display/overlay_processor_surface_control_unittest.cc",
  536. "display/overlay_unittest.cc",
  537. "frame_sinks/external_begin_frame_source_android_unittest.cc",
  538. ]
  539. }
  540. if (enable_vulkan) {
  541. deps += [
  542. "//gpu/vulkan:test_support",
  543. "//gpu/vulkan/init",
  544. ]
  545. }
  546. }
  547. viz_source_set("perf_tests") {
  548. testonly = true
  549. sources = [
  550. "display/bsp_tree_perftest.cc",
  551. "display/display_perftest.cc",
  552. "display/renderer_perftest.cc",
  553. "display/surface_aggregator_perftest.cc",
  554. "display/viz_perftest.cc",
  555. "display/viz_perftest.h",
  556. ]
  557. deps = [
  558. ":service",
  559. "//base",
  560. "//base/test:test_support",
  561. "//cc",
  562. "//cc:test_support",
  563. "//cc/base",
  564. "//components/viz/client:client",
  565. "//components/viz/test:test_support",
  566. "//testing/gtest",
  567. "//testing/perf",
  568. "//third_party/zlib/google:zip",
  569. ]
  570. }
  571. fuzzer_test("hit_test_manager_fuzzer") {
  572. sources = [ "hit_test/hit_test_manager_fuzzer.cc" ]
  573. libfuzzer_options = [ "max_len=81920" ]
  574. deps = [
  575. ":service",
  576. "//base/test:test_support",
  577. "//components/viz/test:test_support",
  578. ]
  579. }
  580. if (is_android) {
  581. android_library("service_java") {
  582. deps = [
  583. "//base:base_java",
  584. "//base:jni_java",
  585. "//build/android:build_java",
  586. "//ui/android:ui_no_recycler_view_java",
  587. ]
  588. annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
  589. sources = [
  590. "java/src/org/chromium/components/viz/service/frame_sinks/ExternalBeginFrameSourceAndroid.java",
  591. "java/src/org/chromium/components/viz/service/gl/ThrowUncaughtException.java",
  592. ]
  593. }
  594. generate_jni("service_jni_headers") {
  595. sources = [
  596. "java/src/org/chromium/components/viz/service/frame_sinks/ExternalBeginFrameSourceAndroid.java",
  597. "java/src/org/chromium/components/viz/service/gl/ThrowUncaughtException.java",
  598. ]
  599. }
  600. }
  601. group("viz_service_fuzzers") {
  602. testonly = true
  603. deps = [
  604. ":hit_test_manager_fuzzer",
  605. "compositor_frame_fuzzer:compositor_frame_fuzzer",
  606. ]
  607. }