diff options
author | boliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-07 09:03:27 +0000 |
---|---|---|
committer | boliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-07 09:03:27 +0000 |
commit | 2b154b2a2a4c2adf2d145cddbae49767acc67633 (patch) | |
tree | 2966cd155581d9786b1ea892dcd438696b1ef2c7 /cc/output | |
parent | 8d0e6fe215548a3c19a569d300cc0f01e2e1f2ac (diff) | |
download | chromium_src-2b154b2a2a4c2adf2d145cddbae49767acc67633.zip chromium_src-2b154b2a2a4c2adf2d145cddbae49767acc67633.tar.gz chromium_src-2b154b2a2a4c2adf2d145cddbae49767acc67633.tar.bz2 |
cc::OutputSurfaceClient::DeferredInitialize
SynchronousCompositorOutputSurface first starts in software only
mode, then cc::OutputSurfaceClient::InitializeForGL is called to
initialize the GL parts.
BUG=230197
Review URL: https://chromiumcodereview.appspot.com/14772021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204771 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/output')
-rw-r--r-- | cc/output/output_surface_client.h | 7 | ||||
-rw-r--r-- | cc/output/output_surface_unittest.cc | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/cc/output/output_surface_client.h b/cc/output/output_surface_client.h index 26edec8..dc68e96 100644 --- a/cc/output/output_surface_client.h +++ b/cc/output/output_surface_client.h @@ -5,8 +5,10 @@ #ifndef CC_OUTPUT_OUTPUT_SURFACE_CLIENT_H_ #define CC_OUTPUT_OUTPUT_SURFACE_CLIENT_H_ +#include "base/memory/ref_counted.h" #include "base/time.h" #include "cc/base/cc_export.h" +#include "cc/output/context_provider.h" #include "ui/gfx/rect.h" namespace gfx { @@ -19,6 +21,11 @@ class CompositorFrameAck; class CC_EXPORT OutputSurfaceClient { public: + // Called to synchronously re-initialize using the Context3D. Upon returning + // the compositor should be able to draw using GL what was previously + // committed. + virtual bool DeferredInitialize( + scoped_refptr<ContextProvider> offscreen_context_provider) = 0; virtual void SetNeedsRedrawRect(gfx::Rect damage_rect) = 0; virtual void OnVSyncParametersChanged(base::TimeTicks timebase, base::TimeDelta interval) = 0; diff --git a/cc/output/output_surface_unittest.cc b/cc/output/output_surface_unittest.cc index d54afe2..1d365d9 100644 --- a/cc/output/output_surface_unittest.cc +++ b/cc/output/output_surface_unittest.cc @@ -28,6 +28,10 @@ class TestOutputSurface : public OutputSurface { class FakeOutputSurfaceClient : public OutputSurfaceClient { public: + virtual bool DeferredInitialize( + scoped_refptr<ContextProvider> offscreen_context_provider) OVERRIDE { + return true; + } virtual void SetNeedsRedrawRect(gfx::Rect damage_rect) OVERRIDE {} virtual void OnVSyncParametersChanged(base::TimeTicks timebase, base::TimeDelta interval) OVERRIDE {} |