New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 651851 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Oct 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Remove GLFrameData from CompositorFrame

Project Member Reported by kylec...@chromium.org, Sep 30 2016

Issue description

CompositorFrame has both CompositorFrameMetdata and GLFrameData included in it. Most of the time GLFrameData is null and unused. It's only when GLRenderer or SoftwareRenderer calls OutputSurface::SwapBuffers(CompositorFrame) does GLFrameData get filled in.

GLFrameData could be removed from CompositorFrame and a new struct containing GLFrameData could be passed to OutputSurface::SwapBuffers(). The only other part of CompositorFrameMetadata that is needed here is LatencyInfo. That could be added to the new struct along with GLFrameData.

Dana suggested the name OutputSurfaceFrame. This way the CompositorFrameSink would take a CompositorFrame and OutputSurface would take a OutputSurfaceFrame.

So plan of action is to:
1. Remove GLFrameData from CompositorFrame.
2. Rename GLFrameData to OutputSurfaceFrame.
3. Add LatencyInfo to OutputSurfaceFrame.
4. Change OutputSurface::SwapBuffers() to take an OutputSurfaceFrame.
 

Comment 1 by danakj@chromium.org, Sep 30 2016

SGTM thanks
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5344b39e46eb35c82e09b6fabc5447dbf68ff393

commit 5344b39e46eb35c82e09b6fabc5447dbf68ff393
Author: kylechar <kylechar@chromium.org>
Date: Thu Oct 06 23:51:19 2016

Remove GLFrameData from CompositorFrame.

Split GLFrameData out of CompositorFrame. Create a new struct
OutputSurfaceFrame that contains the parts of CompositorFrame need by
OutputSurface::SwapBuffers(). Update OutputSurface implementations to
use the new OutputSurfaceFrame struct instead.

BUG= 651851 
TBR=dtrainor@chromium.org,fsamuel@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2374183006
Cr-Commit-Position: refs/heads/master@{#423746}

[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/android_webview/browser/hardware_renderer.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/android_webview/browser/parent_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/android_webview/browser/parent_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/blimp/client/support/compositor/blimp_embedder_compositor.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/BUILD.gn
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/ipc/cc_param_traits.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/ipc/cc_param_traits_macros.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/layers/surface_layer_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/compositor_frame.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/direct_renderer.h
[delete] https://crrev.com/ce8af8812b8de0246975c932063b1e03ed570068/cc/output/gl_frame_data.cc
[delete] https://crrev.com/ce8af8812b8de0246975c932063b1e03ed570068/cc/output/gl_frame_data.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/gl_renderer.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/gl_renderer.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/gl_renderer_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/output_surface.h
[add] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/output_surface_frame.cc
[add] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/output_surface_frame.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/output_surface_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/overlay_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/software_renderer.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/software_renderer.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/surfaces/display.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/surfaces/display_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/test/fake_compositor_frame_sink.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/test/fake_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/test/fake_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/test/pixel_test_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/test/pixel_test_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/test/test_hooks.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/gpu_browser_compositor_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/gpu_browser_compositor_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/gpu_output_surface_mac.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/gpu_output_surface_mac.mm
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/mus_browser_compositor_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/mus_browser_compositor_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/offscreen_browser_compositor_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/offscreen_browser_compositor_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/reflector_impl_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/software_browser_compositor_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/software_browser_compositor_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/software_browser_compositor_output_surface_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/renderer/android/synchronous_compositor_frame_sink.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/services/ui/surfaces/direct_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/services/ui/surfaces/direct_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/services/ui/surfaces/direct_output_surface_ozone.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/services/ui/surfaces/direct_output_surface_ozone.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/tools/ipc_fuzzer/fuzzer/fuzzer.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/ui/compositor/test/in_process_context_factory.cc

Status: Fixed (was: Started)
Project Member

Comment 4 by bugdroid1@chromium.org, Oct 27 2016

Labels: merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5344b39e46eb35c82e09b6fabc5447dbf68ff393

commit 5344b39e46eb35c82e09b6fabc5447dbf68ff393
Author: kylechar <kylechar@chromium.org>
Date: Thu Oct 06 23:51:19 2016

Remove GLFrameData from CompositorFrame.

Split GLFrameData out of CompositorFrame. Create a new struct
OutputSurfaceFrame that contains the parts of CompositorFrame need by
OutputSurface::SwapBuffers(). Update OutputSurface implementations to
use the new OutputSurfaceFrame struct instead.

BUG= 651851 
TBR=dtrainor@chromium.org,fsamuel@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2374183006
Cr-Commit-Position: refs/heads/master@{#423746}

[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/android_webview/browser/hardware_renderer.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/android_webview/browser/parent_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/android_webview/browser/parent_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/blimp/client/support/compositor/blimp_embedder_compositor.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/BUILD.gn
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/ipc/cc_param_traits.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/ipc/cc_param_traits_macros.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/layers/surface_layer_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/compositor_frame.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/direct_renderer.h
[delete] https://crrev.com/ce8af8812b8de0246975c932063b1e03ed570068/cc/output/gl_frame_data.cc
[delete] https://crrev.com/ce8af8812b8de0246975c932063b1e03ed570068/cc/output/gl_frame_data.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/gl_renderer.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/gl_renderer.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/gl_renderer_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/output_surface.h
[add] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/output_surface_frame.cc
[add] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/output_surface_frame.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/output_surface_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/overlay_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/software_renderer.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/output/software_renderer.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/surfaces/display.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/surfaces/display_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/test/fake_compositor_frame_sink.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/test/fake_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/test/fake_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/test/pixel_test_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/test/pixel_test_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/test/test_hooks.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/gpu_browser_compositor_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/gpu_browser_compositor_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/gpu_output_surface_mac.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/gpu_output_surface_mac.mm
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/mus_browser_compositor_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/mus_browser_compositor_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/offscreen_browser_compositor_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/offscreen_browser_compositor_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/reflector_impl_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/software_browser_compositor_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/software_browser_compositor_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/compositor/software_browser_compositor_output_surface_unittest.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/content/renderer/android/synchronous_compositor_frame_sink.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/services/ui/surfaces/direct_output_surface.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/services/ui/surfaces/direct_output_surface.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/services/ui/surfaces/direct_output_surface_ozone.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/services/ui/surfaces/direct_output_surface_ozone.h
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/tools/ipc_fuzzer/fuzzer/fuzzer.cc
[modify] https://crrev.com/5344b39e46eb35c82e09b6fabc5447dbf68ff393/ui/compositor/test/in_process_context_factory.cc

Comment 5 by dimu@google.com, Nov 4 2016

Labels: -merge-merged-2840
[Automated comment] removing mislabelled merge-merged-2840

Comment 6 by dchan@google.com, Jan 21 2017

Labels: VerifyIn-57

Comment 7 by dchan@google.com, Mar 4 2017

Labels: VerifyIn-58

Comment 8 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 9 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 11 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)

Sign in to add a comment