summaryrefslogtreecommitdiffstats
path: root/cc/surfaces/surface_aggregator.cc
diff options
context:
space:
mode:
authoralexst@chromium.org <alexst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-20 05:56:39 +0000
committeralexst@chromium.org <alexst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-20 05:56:39 +0000
commit63880f8df2c37a295bf06d5174a502d5b3833d35 (patch)
tree033a3c0d8db3028760c1f1b954772af2336dc1f2 /cc/surfaces/surface_aggregator.cc
parent47be222062b4141ef06182b47d198e6f4b8c88cc (diff)
downloadchromium_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.cc6
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,