tree: e06f5abe3c28267d73b03e4a0fde2595e728e418 [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_gl.cc
  42. display_resource_provider_gl.h
  43. display_resource_provider_gl_unittest.cc
  44. display_resource_provider_null.cc
  45. display_resource_provider_null.h
  46. display_resource_provider_skia.cc
  47. display_resource_provider_skia.h
  48. display_resource_provider_skia_unittest.cc
  49. display_resource_provider_software.cc
  50. display_resource_provider_software.h
  51. display_resource_provider_software_unittest.cc
  52. display_scheduler.cc
  53. display_scheduler.h
  54. display_scheduler_base.cc
  55. display_scheduler_base.h
  56. display_scheduler_unittest.cc
  57. display_unittest.cc
  58. draw_polygon.cc
  59. draw_polygon.h
  60. draw_polygon_unittest.cc
  61. dynamic_geometry_binding.cc
  62. dynamic_geometry_binding.h
  63. external_use_client.cc
  64. external_use_client.h
  65. frame_rate_decider.cc
  66. frame_rate_decider.h
  67. frame_rate_decider_unittest.cc
  68. geometry_binding.cc
  69. geometry_binding.h
  70. gl_renderer.cc
  71. gl_renderer.h
  72. gl_renderer_copier.cc
  73. gl_renderer_copier.h
  74. gl_renderer_copier_perftest.cc
  75. gl_renderer_copier_pixeltest.cc
  76. gl_renderer_copier_unittest.cc
  77. gl_renderer_draw_cache.cc
  78. gl_renderer_draw_cache.h
  79. gl_renderer_unittest.cc
  80. layer_quad.cc
  81. layer_quad.h
  82. layer_quad_unittest.cc
  83. null_renderer.cc
  84. null_renderer.h
  85. output_surface.cc
  86. output_surface.h
  87. output_surface_client.h
  88. output_surface_frame.cc
  89. output_surface_frame.h
  90. overlay_ca_unittest.cc
  91. overlay_candidate.cc
  92. overlay_candidate.h
  93. overlay_candidate_temporal_tracker.cc
  94. overlay_candidate_temporal_tracker.h
  95. overlay_dc_unittest.cc
  96. overlay_processor_android.cc
  97. overlay_processor_android.h
  98. overlay_processor_interface.cc
  99. overlay_processor_interface.h
  100. overlay_processor_mac.cc
  101. overlay_processor_mac.h
  102. overlay_processor_on_gpu.cc
  103. overlay_processor_on_gpu.h
  104. overlay_processor_ozone.cc
  105. overlay_processor_ozone.h
  106. overlay_processor_ozone_unittest.cc
  107. overlay_processor_stub.cc
  108. overlay_processor_stub.h
  109. overlay_processor_surface_control.cc
  110. overlay_processor_surface_control.h
  111. overlay_processor_surface_control_unittest.cc
  112. overlay_processor_using_strategy.cc
  113. overlay_processor_using_strategy.h
  114. overlay_processor_win.cc
  115. overlay_processor_win.h
  116. overlay_strategy_fullscreen.cc
  117. overlay_strategy_fullscreen.h
  118. overlay_strategy_single_on_top.cc
  119. overlay_strategy_single_on_top.h
  120. overlay_strategy_underlay.cc
  121. overlay_strategy_underlay.h
  122. overlay_strategy_underlay_cast.cc
  123. overlay_strategy_underlay_cast.h
  124. overlay_unittest.cc
  125. process_renderer_perftest_results.py
  126. program_binding.cc
  127. program_binding.h
  128. README.md
  129. render_pass_id_remapper.cc
  130. render_pass_id_remapper.h
  131. renderer_perftest.cc
  132. renderer_pixeltest.cc
  133. renderer_utils.cc
  134. renderer_utils.h
  135. resource_fence.h
  136. scoped_gpu_memory_buffer_texture.cc
  137. scoped_gpu_memory_buffer_texture.h
  138. scoped_render_pass_texture.cc
  139. scoped_render_pass_texture.h
  140. shader.cc
  141. shader.h
  142. shader_unittest.cc
  143. shared_bitmap_manager.h
  144. skia_output_surface.cc
  145. skia_output_surface.h
  146. skia_readback_pixeltest.cc
  147. skia_renderer.cc
  148. skia_renderer.h
  149. software_output_device.cc
  150. software_output_device.h
  151. software_output_device_client.h
  152. software_renderer.cc
  153. software_renderer.h
  154. software_renderer_unittest.cc
  155. static_geometry_binding.cc
  156. static_geometry_binding.h
  157. surface_aggregator.cc
  158. surface_aggregator.h
  159. surface_aggregator_perftest.cc
  160. surface_aggregator_pixeltest.cc
  161. surface_aggregator_unittest.cc
  162. sync_query_collection.cc
  163. sync_query_collection.h
  164. texture_deleter.cc
  165. texture_deleter.h
  166. texture_deleter_unittest.cc
  167. viz_perf_test.cc
  168. viz_perf_test.h
  169. viz_pixel_test.cc
  170. 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.