| Index: ui/compositor/compositor.h
|
| diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
|
| index aa773b25e7c330e3ad10c1908666fe60ed8e61e5..90776b7b4f680ad5c9bfd895640f58f0521ac2da 100644
|
| --- a/ui/compositor/compositor.h
|
| +++ b/ui/compositor/compositor.h
|
| @@ -36,6 +36,12 @@ namespace WebKit {
|
| class WebGraphicsContext3D;
|
| }
|
|
|
| +namespace webkit {
|
| +namespace gpu {
|
| +class GrContextForWebGraphicsContext3D;
|
| +}
|
| +}
|
| +
|
| namespace ui {
|
|
|
| class Compositor;
|
| @@ -67,6 +73,13 @@ class COMPOSITOR_EXPORT ContextFactory {
|
| // with all compositors.
|
| virtual WebKit::WebGraphicsContext3D* CreateOffscreenContext() = 0;
|
|
|
| + virtual WebKit::WebGraphicsContext3D* OffscreenContextForMainThread() = 0;
|
| + virtual WebKit::WebGraphicsContext3D* OffscreenContextForCompositorThread() =
|
| + 0;
|
| + virtual GrContext* OffscreenGrContextForMainThread() = 0;
|
| + virtual GrContext* OffscreenGrContextForCompositorThread() = 0;
|
| + virtual void DestroyOffscreenContext3dForCompositorThread() = 0;
|
| +
|
| // Destroys per-compositor data.
|
| virtual void RemoveCompositor(Compositor* compositor) = 0;
|
| };
|
| @@ -81,6 +94,13 @@ class COMPOSITOR_EXPORT DefaultContextFactory : public ContextFactory {
|
| virtual cc::OutputSurface* CreateOutputSurface(
|
| Compositor* compositor) OVERRIDE;
|
| virtual WebKit::WebGraphicsContext3D* CreateOffscreenContext() OVERRIDE;
|
| + virtual WebKit::WebGraphicsContext3D* OffscreenContextForMainThread()
|
| + OVERRIDE;
|
| + virtual WebKit::WebGraphicsContext3D* OffscreenContextForCompositorThread()
|
| + OVERRIDE;
|
| + virtual GrContext* OffscreenGrContextForMainThread() OVERRIDE;
|
| + virtual GrContext* OffscreenGrContextForCompositorThread() OVERRIDE;
|
| + virtual void DestroyOffscreenContext3dForCompositorThread() OVERRIDE;
|
| virtual void RemoveCompositor(Compositor* compositor) OVERRIDE;
|
|
|
| bool Initialize();
|
| @@ -95,6 +115,13 @@ class COMPOSITOR_EXPORT DefaultContextFactory : public ContextFactory {
|
| bool offscreen);
|
|
|
| scoped_refptr<gfx::GLShareGroup> share_group_;
|
| + scoped_ptr<WebKit::WebGraphicsContext3D> test_offscreen_context_main_thread_;
|
| + scoped_ptr<WebKit::WebGraphicsContext3D>
|
| + test_offscreen_context_compositor_thread_;
|
| + scoped_ptr<webkit::gpu::GrContextForWebGraphicsContext3D>
|
| + grcontext_main_thread_;
|
| + scoped_ptr<webkit::gpu::GrContextForWebGraphicsContext3D>
|
| + grcontext_compositor_thread_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(DefaultContextFactory);
|
| };
|
| @@ -261,6 +288,13 @@ class COMPOSITOR_EXPORT Compositor
|
| virtual scoped_ptr<cc::OutputSurface>
|
| createOutputSurface() OVERRIDE;
|
| virtual void didRecreateOutputSurface(bool success) OVERRIDE;
|
| + virtual WebKit::WebGraphicsContext3D* OffscreenContext3dForMainThread()
|
| + OVERRIDE;
|
| + virtual WebKit::WebGraphicsContext3D* OffscreenContext3dForCompositorThread()
|
| + OVERRIDE;
|
| + virtual GrContext* OffscreenGrContextForMainThread() OVERRIDE;
|
| + virtual GrContext* OffscreenGrContextForCompositorThread() OVERRIDE;
|
| + virtual void DestroyOffscreenContext3dForCompositorThread() OVERRIDE;
|
| virtual scoped_ptr<cc::InputHandler> createInputHandler() OVERRIDE;
|
| virtual void willCommit() OVERRIDE;
|
| virtual void didCommit() OVERRIDE;
|
|
|