diff options
author | nduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-12 21:10:24 +0000 |
---|---|---|
committer | nduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-12 21:10:24 +0000 |
commit | 652257791aa8aa96c53edd18edf2bd8c4dcaec1b (patch) | |
tree | 4f88b09862e79a8f6419d503641b943fe476f1ac /content/renderer/render_widget_fullscreen_pepper.h | |
parent | a1b621b3d14415485da5fc2f2df44f6dfcde84fd (diff) | |
download | chromium_src-652257791aa8aa96c53edd18edf2bd8c4dcaec1b.zip chromium_src-652257791aa8aa96c53edd18edf2bd8c4dcaec1b.tar.gz chromium_src-652257791aa8aa96c53edd18edf2bd8c4dcaec1b.tar.bz2 |
Drive compositor scheduling with the swapbuffers callback.
This modifies the compositor to hold DoDeferredUpdate until the previous frames are ack'd by the GPU.
This vastly improves rendering smoothness.
There is some complexity in the way we intercept the SwapBuffers callback due to the different types of GraphicsContexts that get scheduled by render_widget.
BUG=80480,53051
Review URL: http://codereview.chromium.org/6902106
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85186 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/render_widget_fullscreen_pepper.h')
-rw-r--r-- | content/renderer/render_widget_fullscreen_pepper.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/content/renderer/render_widget_fullscreen_pepper.h b/content/renderer/render_widget_fullscreen_pepper.h index c7a235f..e83ca18 100644 --- a/content/renderer/render_widget_fullscreen_pepper.h +++ b/content/renderer/render_widget_fullscreen_pepper.h @@ -61,6 +61,9 @@ class RenderWidgetFullscreenPepper : public RenderWidgetFullscreen, // RenderWidgetFullscreen API. virtual WebKit::WebWidget* CreateWebWidget(); + // RenderWidget overrides. + virtual bool SupportsAsynchronousSwapBuffers() OVERRIDE; + private: // Creates the GL context for compositing. void CreateContext(); @@ -75,6 +78,10 @@ class RenderWidgetFullscreenPepper : public RenderWidgetFullscreen, // Called when the compositing context gets lost. void OnLostContext(); + // Binding of RendererGLContext swapbuffers callback to + // RenderWidget::OnSwapBuffersCompleted. + void OnSwapBuffersCompleteByRendererGLContext(); + // URL that is responsible for this widget, passed to ggl::CreateViewContext. GURL active_url_; |