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

Issue 755319 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Task

Blocking:
issue 722935



Sign in to add a comment

Rearrange compositor frame struct traits header files to reduce call sites includes

Project Member Reported by weiliangc@chromium.org, Aug 14 2017

Issue description

Right now callsites trying to directly serialize/deserialize compositor frames need to include all the struct traits header files of all the datastructures in compositor frame.

Move to the case where the struct traits header files include other struct traits header files so the callsites don't need to know about every struct traits header files that need to be included.

For example, compositor frame struct traits header file should include compositor_frame_metadata_struct_traits.h so that unittests and serialization perftests won't need to.
 

Comment 1 by danakj@chromium.org, May 25 2018

Owner: danakj@chromium.org
Status: Started (was: Available)
I think it's actually a bug that compositor_frame_metadata_struct_traits.h isn't included from compositor_frame_struct_traits.h, as the mojo generated bindings seem to expect all the struct traits to be defined for the things used in the accessor methods. Same for render_pass_struct_traits.h

Comment 2 by danakj@chromium.org, May 25 2018

I don't see a bunch of includers of the struct traits tho, to update after changing this. services/viz/public/cpp/compositing/compositor_frame_struct_traits.h is only included by the services unit/perf tests for the struct traits.
Project Member

Comment 3 by bugdroid1@chromium.org, May 25 2018

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

commit 312bce054cdd77e65a149dc32f8641772c3e6e7c
Author: danakj <danakj@chromium.org>
Date: Fri May 25 23:21:20 2018

viz: Include StructTraits headers that are used in the header

The CompositorFrame StructTraits uses the traits of RenderPass and
CompositorFrameMetadata, so they should be included.

R=weiliangc@chromium.org

Bug:  755319 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: If8a895128953dc4049e7c446667bdfb022a94ae3
Reviewed-on: https://chromium-review.googlesource.com/1073965
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: weiliangc <weiliangc@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562055}
[modify] https://crrev.com/312bce054cdd77e65a149dc32f8641772c3e6e7c/services/viz/public/cpp/compositing/compositor_frame_struct_traits.cc
[modify] https://crrev.com/312bce054cdd77e65a149dc32f8641772c3e6e7c/services/viz/public/cpp/compositing/compositor_frame_struct_traits.h
[modify] https://crrev.com/312bce054cdd77e65a149dc32f8641772c3e6e7c/services/viz/public/cpp/compositing/render_pass_struct_traits.cc
[modify] https://crrev.com/312bce054cdd77e65a149dc32f8641772c3e6e7c/services/viz/public/cpp/compositing/struct_traits_perftest.cc

Comment 4 by danakj@chromium.org, May 26 2018

Status: Fixed (was: Started)

Sign in to add a comment