tree: eb57f860aa37d64f6e2cef317c57dbb422f7c1ab [path history] [tgz]
  1. aggregated_frame.cc
  2. aggregated_frame.h
  3. bsp_compare_result.h
  4. bsp_tree.cc
  5. bsp_tree.h
  6. bsp_tree_perftest.cc
  7. bsp_tree_unittest.cc
  8. bsp_walk_action.cc
  9. bsp_walk_action.h
  10. ca_layer_overlay.cc
  11. ca_layer_overlay.h
  12. copy_output_scaling_pixeltest.cc
  13. damage_frame_annotator.cc
  14. damage_frame_annotator.h
  15. dc_layer_overlay.cc
  16. dc_layer_overlay.h
  17. delegated_ink_handler.cc
  18. delegated_ink_handler.h
  19. delegated_ink_point_pixel_test_helper.cc
  20. delegated_ink_point_pixel_test_helper.h
  21. delegated_ink_point_renderer_base.cc
  22. delegated_ink_point_renderer_base.h
  23. delegated_ink_point_renderer_skia.cc
  24. delegated_ink_point_renderer_skia.h
  25. delegated_ink_trail_data.cc
  26. delegated_ink_trail_data.h
  27. DEPS
  28. direct_renderer.cc
  29. direct_renderer.h
  30. display.cc
  31. display.h
  32. display_client.h
  33. display_compositor_memory_and_task_controller.cc
  34. display_compositor_memory_and_task_controller.h
  35. display_damage_tracker.cc
  36. display_damage_tracker.h
  37. display_damage_tracker_unittest.cc
  38. display_perftest.cc
  39. display_resource_provider.cc
  40. display_resource_provider.h
  41. display_resource_provider_null.cc
  42. display_resource_provider_null.h
  43. display_resource_provider_skia.cc
  44. display_resource_provider_skia.h
  45. display_resource_provider_skia_unittest.cc
  46. display_resource_provider_software.cc
  47. display_resource_provider_software.h
  48. display_resource_provider_software_unittest.cc
  49. display_scheduler.cc
  50. display_scheduler.h
  51. display_scheduler_base.cc
  52. display_scheduler_base.h
  53. display_scheduler_unittest.cc
  54. display_unittest.cc
  55. display_utils.cc
  56. display_utils.h
  57. display_utils_unittest.cc
  58. draw_polygon.cc
  59. draw_polygon.h
  60. draw_polygon_unittest.cc
  61. external_use_client.cc
  62. external_use_client.h
  63. frame_interval_decider.cc
  64. frame_interval_decider.h
  65. frame_interval_decider_unittest.cc
  66. frame_interval_matchers.cc
  67. frame_interval_matchers.h
  68. frame_interval_matchers_unittest.cc
  69. null_renderer.cc
  70. null_renderer.h
  71. occlusion_culler.cc
  72. occlusion_culler.h
  73. occlusion_culler_unittest.cc
  74. output_surface.cc
  75. output_surface.h
  76. output_surface_client.h
  77. output_surface_frame.cc
  78. output_surface_frame.h
  79. overdraw_tracker.cc
  80. overdraw_tracker.h
  81. overdraw_tracker_unittest.cc
  82. overlay_ca_unittest.cc
  83. overlay_candidate.cc
  84. overlay_candidate.h
  85. overlay_candidate_factory.cc
  86. overlay_candidate_factory.h
  87. overlay_candidate_factory_unittest.cc
  88. overlay_candidate_temporal_tracker.cc
  89. overlay_candidate_temporal_tracker.h
  90. overlay_combination_cache.cc
  91. overlay_combination_cache.h
  92. overlay_combination_cache_unittest.cc
  93. overlay_dc_unittest.cc
  94. overlay_processor_android.cc
  95. overlay_processor_android.h
  96. overlay_processor_delegated.cc
  97. overlay_processor_delegated.h
  98. overlay_processor_delegated_support.cc
  99. overlay_processor_delegated_support.h
  100. overlay_processor_interface.cc
  101. overlay_processor_interface.h
  102. overlay_processor_mac.cc
  103. overlay_processor_mac.h
  104. overlay_processor_on_gpu.cc
  105. overlay_processor_on_gpu.h
  106. overlay_processor_ozone.cc
  107. overlay_processor_ozone.h
  108. overlay_processor_ozone_unittest.cc
  109. overlay_processor_strategy.cc
  110. overlay_processor_strategy.h
  111. overlay_processor_stub.cc
  112. overlay_processor_stub.h
  113. overlay_processor_surface_control.cc
  114. overlay_processor_surface_control.h
  115. overlay_processor_surface_control_unittest.cc
  116. overlay_processor_using_strategy.cc
  117. overlay_processor_using_strategy.h
  118. overlay_processor_win.cc
  119. overlay_processor_win.h
  120. overlay_proposed_candidate.cc
  121. overlay_proposed_candidate.h
  122. overlay_proposed_candidate_unittest.cc
  123. overlay_strategy_fullscreen.cc
  124. overlay_strategy_fullscreen.h
  125. overlay_strategy_single_on_top.cc
  126. overlay_strategy_single_on_top.h
  127. overlay_strategy_underlay.cc
  128. overlay_strategy_underlay.h
  129. overlay_strategy_underlay_cast.cc
  130. overlay_strategy_underlay_cast.h
  131. overlay_unittest.cc
  132. pending_swap_params.cc
  133. pending_swap_params.h
  134. process_renderer_perftest_results.py
  135. readback_pixeltest.cc
  136. README.md
  137. render_pass_alpha_type.h
  138. renderer_perftest.cc
  139. renderer_pixeltest.cc
  140. renderer_utils.cc
  141. renderer_utils.h
  142. resolved_frame_data.cc
  143. resolved_frame_data.h
  144. resolved_frame_data_unittest.cc
  145. resource_fence.cc
  146. resource_fence.h
  147. skia_output_surface.cc
  148. skia_output_surface.h
  149. skia_renderer.cc
  150. skia_renderer.h
  151. software_output_device.cc
  152. software_output_device.h
  153. software_output_device_client.h
  154. software_renderer.cc
  155. software_renderer.h
  156. software_renderer_unittest.cc
  157. surface_aggregator.cc
  158. surface_aggregator.h
  159. surface_aggregator_perftest.cc
  160. surface_aggregator_pixeltest.cc
  161. surface_aggregator_unittest.cc
  162. test_resource_factory.cc
  163. test_resource_factory.h
  164. viz_perftest.cc
  165. viz_perftest.h
  166. viz_pixel_test.cc
  167. viz_pixel_test.h
components/viz/service/display/README.md

display/

This directory is the implementation of the Display Compositor.

The Display Compositor combines frames submitted to the viz service through frame sinks, and combines them into a single gpu or software resource to be presented to the user.

This directory is agnostic w.r.t. platform-specific presentation details, which are abstracted behind OutputSurface and SoftwareOutputDevice. Through these APIs, it supports either compositing gpu resources (textures) into a single texture/framebuffer, or software resources (bitmaps) into a single bitmap. Note that the platform specific implementations details should live outside of display/ (for example, they can live in display_embedder/ instead).

To understand surface and surface aggregation better, please refer to Surface and Surface Aggregation slides.