diff options
author | alexst@chromium.org <alexst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-28 20:49:07 +0000 |
---|---|---|
committer | alexst@chromium.org <alexst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-28 20:49:07 +0000 |
commit | 8590da360ec53610e51592836443e86065e9e8aa (patch) | |
tree | d1ce10ac87bc47100a6e4dbefc29d18c2d54c14d /cc/output/overlay_strategy_single_on_top.h | |
parent | 23dc93ca215537baf312da312ca2a32517e39890 (diff) | |
download | chromium_src-8590da360ec53610e51592836443e86065e9e8aa.zip chromium_src-8590da360ec53610e51592836443e86065e9e8aa.tar.gz chromium_src-8590da360ec53610e51592836443e86065e9e8aa.tar.bz2 |
Plumb overlay processing into DirectRenderer.
This change tests for overlays inside DirectRenderer::DrawFrame and if
new overlay passes were produced, it skips rendering them and forwards the
information to FinishDrawingFrame to allow subclasses like GLRenderer and
SoftwareRenderer to schedule overlays in a manner specific to their
implementation.
GLRenderer schedules overlays via ContextSupport.
Adds more tests to ensure overlay quads are not drawn and if no overlays
are present, no quads are skipped.
BUG=
Review URL: https://codereview.chromium.org/208213003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260267 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/output/overlay_strategy_single_on_top.h')
-rw-r--r-- | cc/output/overlay_strategy_single_on_top.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/cc/output/overlay_strategy_single_on_top.h b/cc/output/overlay_strategy_single_on_top.h index 99005fd..d984d3d 100644 --- a/cc/output/overlay_strategy_single_on_top.h +++ b/cc/output/overlay_strategy_single_on_top.h @@ -8,6 +8,7 @@ #include "base/basictypes.h" #include "base/memory/scoped_ptr.h" #include "cc/base/cc_export.h" +#include "cc/output/overlay_candidate.h" #include "cc/output/overlay_processor.h" #include "cc/quads/render_pass.h" @@ -18,7 +19,8 @@ class CC_EXPORT OverlayStrategySingleOnTop : public OverlayProcessor::Strategy { public: OverlayStrategySingleOnTop(OverlayCandidateValidator* capability_checker, ResourceProvider* resource_provider); - virtual bool Attempt(RenderPassList* render_passes_in_draw_order) OVERRIDE; + virtual bool Attempt(RenderPassList* render_passes_in_draw_order, + OverlayCandidateList* candidate_list) OVERRIDE; private: OverlayCandidateValidator* capability_checker_; |