diff options
author | apatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-31 21:42:02 +0000 |
---|---|---|
committer | apatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-31 21:42:02 +0000 |
commit | 9d756882750dabd1abbe70b30292531abb86a34b (patch) | |
tree | cd6f3ba4d5481a39953e87570abf9a1402630772 /ui/gfx/gl/gl_surface_linux.cc | |
parent | 8ca0b64248afd305ff938b080afdcb880a98e61b (diff) | |
download | chromium_src-9d756882750dabd1abbe70b30292531abb86a34b.zip chromium_src-9d756882750dabd1abbe70b30292531abb86a34b.tar.gz chromium_src-9d756882750dabd1abbe70b30292531abb86a34b.tar.bz2 |
Support for glSetSurfaceCHROMIUM.
This command allows a previously created GPU surface to be made current for a command buffer. There are no surfaces registered at this point so this command is currently a no-op.
Review URL: http://codereview.chromium.org/7077001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87371 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gfx/gl/gl_surface_linux.cc')
-rw-r--r-- | ui/gfx/gl/gl_surface_linux.cc | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/ui/gfx/gl/gl_surface_linux.cc b/ui/gfx/gl/gl_surface_linux.cc index 26c1631..fe96989 100644 --- a/ui/gfx/gl/gl_surface_linux.cc +++ b/ui/gfx/gl/gl_surface_linux.cc @@ -243,31 +243,32 @@ bool NativeViewGLSurfaceOSMesa::UpdateSize() { return true; } -GLSurface* GLSurface::CreateViewGLSurface(gfx::PluginWindowHandle window) { +scoped_refptr<GLSurface> GLSurface::CreateViewGLSurface( + gfx::PluginWindowHandle window) { switch (GetGLImplementation()) { case kGLImplementationOSMesaGL: { - scoped_ptr<NativeViewGLSurfaceOSMesa> surface( + scoped_refptr<GLSurface> surface( new NativeViewGLSurfaceOSMesa(window)); if (!surface->Initialize()) return NULL; - return surface.release(); + return surface; } case kGLImplementationEGLGLES2: { - scoped_ptr<NativeViewGLSurfaceEGL> surface(new NativeViewGLSurfaceEGL( + scoped_refptr<GLSurface> surface(new NativeViewGLSurfaceEGL( window)); if (!surface->Initialize()) return NULL; - return surface.release(); + return surface; } case kGLImplementationDesktopGL: { - scoped_ptr<NativeViewGLSurfaceGLX> surface(new NativeViewGLSurfaceGLX( + scoped_refptr<GLSurface> surface(new NativeViewGLSurfaceGLX( window)); if (!surface->Initialize()) return NULL; - return surface.release(); + return surface; } case kGLImplementationMockGL: return new GLSurfaceStub; @@ -277,29 +278,30 @@ GLSurface* GLSurface::CreateViewGLSurface(gfx::PluginWindowHandle window) { } } -GLSurface* GLSurface::CreateOffscreenGLSurface(const gfx::Size& size) { +scoped_refptr<GLSurface> GLSurface::CreateOffscreenGLSurface( + const gfx::Size& size) { switch (GetGLImplementation()) { case kGLImplementationOSMesaGL: { - scoped_ptr<GLSurfaceOSMesa> surface(new GLSurfaceOSMesa(OSMESA_RGBA, - size)); + scoped_refptr<GLSurface> surface(new GLSurfaceOSMesa(OSMESA_RGBA, + size)); if (!surface->Initialize()) return NULL; - return surface.release(); + return surface; } case kGLImplementationEGLGLES2: { - scoped_ptr<PbufferGLSurfaceEGL> surface(new PbufferGLSurfaceEGL(size)); + scoped_refptr<GLSurface> surface(new PbufferGLSurfaceEGL(size)); if (!surface->Initialize()) return NULL; - return surface.release(); + return surface; } case kGLImplementationDesktopGL: { - scoped_ptr<PbufferGLSurfaceGLX> surface(new PbufferGLSurfaceGLX(size)); + scoped_refptr<GLSurface> surface(new PbufferGLSurfaceGLX(size)); if (!surface->Initialize()) return NULL; - return surface.release(); + return surface; } case kGLImplementationMockGL: return new GLSurfaceStub; |