| Index: ui/gl/gl_context.h
|
| diff --git a/ui/gl/gl_context.h b/ui/gl/gl_context.h
|
| index dc65f64a8ae6baad9b6990ef104a46ba445b99d4..3eb390fce5cb03f4dcca9e43cc2eda7d12f35f93 100644
|
| --- a/ui/gl/gl_context.h
|
| +++ b/ui/gl/gl_context.h
|
| @@ -88,6 +88,7 @@ class GL_EXPORT GLContext : public base::RefCounted<GLContext> {
|
|
|
| static bool LosesAllContextsOnContextLost();
|
|
|
| + // Returns the last GLContext made current, virtual or real.
|
| static GLContext* GetCurrent();
|
|
|
| virtual bool WasAllocatedUsingRobustnessExtension();
|
| @@ -107,16 +108,22 @@ class GL_EXPORT GLContext : public base::RefCounted<GLContext> {
|
|
|
| // Sets the GL api to the real hardware API (vs the VirtualAPI)
|
| static void SetRealGLApi();
|
| - static void SetCurrent(GLContext* context, GLSurface* surface);
|
| + virtual void SetCurrent(GLSurface* surface);
|
|
|
| // Initialize function pointers to extension functions in the GL
|
| // implementation. Should be called immediately after this context is made
|
| // current.
|
| bool InitializeExtensionBindings();
|
|
|
| + // Returns the last real (non-virtual) GLContext made current.
|
| + static GLContext* GetRealCurrent();
|
| +
|
| private:
|
| friend class base::RefCounted<GLContext>;
|
|
|
| + // For GetRealCurrent.
|
| + friend class VirtualGLApi;
|
| +
|
| scoped_refptr<GLShareGroup> share_group_;
|
| scoped_ptr<VirtualGLApi> virtual_gl_api_;
|
| scoped_ptr<GLStateRestorer> state_restorer_;
|
| @@ -124,6 +131,19 @@ class GL_EXPORT GLContext : public base::RefCounted<GLContext> {
|
| DISALLOW_COPY_AND_ASSIGN(GLContext);
|
| };
|
|
|
| +class GL_EXPORT GLContextReal : public GLContext {
|
| + public:
|
| + explicit GLContextReal(GLShareGroup* share_group);
|
| +
|
| + protected:
|
| + virtual ~GLContextReal();
|
| +
|
| + virtual void SetCurrent(GLSurface* surface) OVERRIDE;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(GLContextReal);
|
| +};
|
| +
|
| } // namespace gfx
|
|
|
| #endif // UI_GL_GL_CONTEXT_H_
|
|
|