| Index: chrome/renderer/ggl/ggl.h
|
| ===================================================================
|
| --- chrome/renderer/ggl/ggl.h (revision 42644)
|
| +++ chrome/renderer/ggl/ggl.h (working copy)
|
| @@ -10,6 +10,9 @@
|
| #ifndef CHROME_RENDERER_GGL_GGL_H_
|
| #define CHROME_RENDERER_GGL_GGL_H_
|
|
|
| +#include "gfx/native_widget_types.h"
|
| +#include "gfx/size.h"
|
| +
|
| class GpuChannelHost;
|
|
|
| namespace ggl {
|
| @@ -32,16 +35,41 @@
|
| // have completed.
|
| bool Terminate();
|
|
|
| -// Create A GGL context for an offscreen 1 x 1 pbuffer.
|
| -Context* CreateContext(GpuChannelHost* channel);
|
| +// Create a GGL context that renders directly to a view.
|
| +Context* CreateViewContext(GpuChannelHost* channel, gfx::NativeViewId view);
|
|
|
| +// Create a GGL context that renders to an offscreen frame buffer. If parent is
|
| +// not NULL, that context can access a copy of the created
|
| +// context's frame buffer that is updated every time SwapBuffers is called. It
|
| +// is not as general as shared contexts in other implementations of OpenGL. If
|
| +// parent is not NULL, it must be used on the same thread as the parent. A child
|
| +// context may not outlive its parent.
|
| +Context* CreateOffscreenContext(GpuChannelHost* channel,
|
| + Context* parent,
|
| + const gfx::Size& size);
|
| +
|
| +// Resize an offscreen frame buffer. The resize occurs on the next call to
|
| +// SwapBuffers. This is to avoid waiting until all pending GL calls have been
|
| +// executed by the GPU process. Everything rendered up to the call to
|
| +// SwapBuffers will be lost. A lost context will be reported if the resize
|
| +// fails.
|
| +void ResizeOffscreenContext(Context* context, const gfx::Size& size);
|
| +
|
| +// For an offscreen frame buffer context, return the texture ID with
|
| +// respect to the parent context. Returns zero if context does not have a
|
| +// parent.
|
| +uint32 GetParentTextureId(Context* context);
|
| +
|
| // Set the current GGL context for the calling thread.
|
| bool MakeCurrent(Context* context);
|
|
|
| // Get the calling thread's current GGL context.
|
| Context* GetCurrentContext();
|
|
|
| -// Display everything that has been rendered since the last call.
|
| +// For a view context, display everything that has been rendered since the
|
| +// last call. For an offscreen context, resolve everything that has been
|
| +// rendered since the last call to a copy that can be accessed by the parent
|
| +// context.
|
| bool SwapBuffers();
|
|
|
| // Destroy the given GGL context.
|
|
|