Create builder/API to build CompositorFrames |
|||||
Issue descriptionThere are many parts of Chrome where something builds a simple CompositorFrame directly. This has resulted in bugs where CompositorFrames are built incorrectly. There is a desire for a builder/API that helps construct simple CompositorFrames without using the layer compositor. The builder should probably work for the following use cases: 1. exo 2. OffscreenCanvas 3. FaskInk app 4. Android webview 5. FrameGenerator 6. Clank UI (maybe?)
,
Sep 29 2017
,
Oct 12 2017
It doesn't look like I'll get to this soon. I started auditing where we create CompositorFrames by hand, so I'll leave that info here: ash::FastInkView::UpdateSurface -One RenderPass -One TextureDrawQuad exo::SurfaceTreeHost::SubmitCompositorFrame -One RenderPass -Maybe multiple TextureDrawQuads ui::ws::FrameGenerator::GenerateCompositorFrame -Potentially two RenderPasses -First RenderPass has SurfaceDrawQuad -Second RenderPass has RenderPassDrawQuad with filter blink::OffscreenCanvasFrameDispatcherImpl::DispatchFrame -One RenderPass -One TextureDrawQuad android_webview::SurfacesInstance::SetSolidColorRootFrame -One RenderPass -One SolidColorDrawQuad android_webview::SurfacesInstance::DrawAndSwap -One RenderPass -One SurfaceDrawQuad
,
Dec 5 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/30a805f4ca579e35afd03268f11cc44912cb4cee commit 30a805f4ca579e35afd03268f11cc44912cb4cee Author: kylechar <kylechar@chromium.org> Date: Tue Dec 05 19:16:32 2017 Add CompositorFrameBuilder for tests. Add a class that helps build valid CompostiorFrames for tests. Also convert some tests to use the builder and update existing helper functions. Bug: 758707 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel Change-Id: I293ef25799d2db398e905f34e5eb0650a3525677 Reviewed-on: https://chromium-review.googlesource.com/796931 Reviewed-by: Timothy Dresser <tdresser@chromium.org> Reviewed-by: Bo <boliu@chromium.org> Reviewed-by: Fady Samuel <fsamuel@chromium.org> Commit-Queue: kylechar <kylechar@chromium.org> Cr-Commit-Position: refs/heads/master@{#521774} [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/android_webview/browser/test/rendering_test.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/host/host_frame_sink_manager_unittest.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/service/display/display_unittest.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/service/display/surface_aggregator_perftest.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/service/display/surface_aggregator_pixeltest.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/service/display/surface_aggregator_unittest.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/service/frame_sinks/compositor_frame_sink_support_unittest.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/service/frame_sinks/direct_layer_tree_frame_sink_unittest.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/service/frame_sinks/surface_references_unittest.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/service/frame_sinks/surface_synchronization_unittest.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/service/frame_sinks/video_detector_unittest.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/service/surfaces/surface_hittest_unittest.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/service/surfaces/surface_unittest.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/test/DEPS [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/test/compositor_frame_helpers.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/test/compositor_frame_helpers.h [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/components/viz/test/surface_hittest_test_helpers.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/content/browser/renderer_host/offscreen_canvas_provider_impl_unittest.cc [modify] https://crrev.com/30a805f4ca579e35afd03268f11cc44912cb4cee/content/browser/renderer_host/render_widget_host_unittest.cc
,
Dec 6
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Dec 6
This is probably still something interesting to look at. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by fsam...@chromium.org
, Aug 24 2017