diff options
author | alexst@chromium.org <alexst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-20 05:56:39 +0000 |
---|---|---|
committer | alexst@chromium.org <alexst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-20 05:56:39 +0000 |
commit | 63880f8df2c37a295bf06d5174a502d5b3833d35 (patch) | |
tree | 033a3c0d8db3028760c1f1b954772af2336dc1f2 /cc/surfaces/surface_aggregator.cc | |
parent | 47be222062b4141ef06182b47d198e6f4b8c88cc (diff) | |
download | chromium_src-63880f8df2c37a295bf06d5174a502d5b3833d35.zip chromium_src-63880f8df2c37a295bf06d5174a502d5b3833d35.tar.gz chromium_src-63880f8df2c37a295bf06d5174a502d5b3833d35.tar.bz2 |
Start of hardware overlay support in CC with Ubercompositor.
I'm trying to introduce everything as small unit tested pieces.
This adds some machinery for checking if quads inside a render pass could
be placed into an overlay. A capability checker is added to the output
surface, so that a particular overlay configuration could be validated
against a specific display device. If an external monitor is plugged in,
its output surface may behave differently that that of the primary on
a laptop, for example.
The intention is for OverlayCandidates checker to be created as part of
BrowserCompositorOutputSurface where the actual hardware knowledge can
be delegated to the Ozone platform and the HW specific bits can live there,
leaving CC and content platform agnostic.
BUG=
Review URL: https://codereview.chromium.org/197223003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258209 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/surfaces/surface_aggregator.cc')
-rw-r--r-- | cc/surfaces/surface_aggregator.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cc/surfaces/surface_aggregator.cc b/cc/surfaces/surface_aggregator.cc index 5b108bb..4d06101 100644 --- a/cc/surfaces/surface_aggregator.cc +++ b/cc/surfaces/surface_aggregator.cc @@ -97,7 +97,8 @@ void SurfaceAggregator::HandleSurfaceQuad(const SurfaceDrawQuad* surface_quad, source.output_rect, source.damage_rect, source.transform_to_root_target, - source.has_transparent_background); + source.has_transparent_background, + source.overlay_state); // Contributing passes aggregated in to the pass list need to take the // transform of the surface quad into account to update their transform to @@ -203,7 +204,8 @@ void SurfaceAggregator::CopyPasses(const RenderPassList& source_pass_list, source.output_rect, source.damage_rect, source.transform_to_root_target, - source.has_transparent_background); + source.has_transparent_background, + source.overlay_state); CopyQuadsToPass(source.quad_list, source.shared_quad_state_list, |