Index: ui/gl/gl_surface_x11.cc |
diff --git a/ui/gl/gl_surface_x11.cc b/ui/gl/gl_surface_x11.cc |
index a384147cb2feb188cd3b3acde518f308e70b8511..efbaf60b1e1bffb60cbfdf76beece3dc0536f0b3 100644 |
--- a/ui/gl/gl_surface_x11.cc |
+++ b/ui/gl/gl_surface_x11.cc |
@@ -23,7 +23,9 @@ namespace gfx { |
// view. |
class NativeViewGLSurfaceOSMesa : public GLSurfaceOSMesa { |
public: |
- explicit NativeViewGLSurfaceOSMesa(gfx::AcceleratedWidget window); |
+ NativeViewGLSurfaceOSMesa( |
+ gfx::AcceleratedWidget window, |
+ const gfx::SurfaceConfiguration& requested_configuration); |
static bool InitializeOneOff(); |
@@ -77,8 +79,11 @@ bool GLSurface::InitializeOneOffInternal() { |
} |
NativeViewGLSurfaceOSMesa::NativeViewGLSurfaceOSMesa( |
- gfx::AcceleratedWidget window) |
- : GLSurfaceOSMesa(OSMesaSurfaceFormatBGRA, gfx::Size(1, 1)), |
+ gfx::AcceleratedWidget window, |
+ const gfx::SurfaceConfiguration& requested_configuration) |
+ : GLSurfaceOSMesa(OSMesaSurfaceFormatBGRA, |
+ gfx::Size(1, 1), |
+ requested_configuration), |
xdisplay_(gfx::GetXDisplay()), |
window_graphics_context_(0), |
window_(window), |
@@ -272,19 +277,21 @@ NativeViewGLSurfaceOSMesa::~NativeViewGLSurfaceOSMesa() { |
} |
scoped_refptr<GLSurface> GLSurface::CreateViewGLSurface( |
- gfx::AcceleratedWidget window) { |
+ gfx::AcceleratedWidget window, |
+ const gfx::SurfaceConfiguration& requested_configuration) { |
TRACE_EVENT0("gpu", "GLSurface::CreateViewGLSurface"); |
switch (GetGLImplementation()) { |
case kGLImplementationOSMesaGL: { |
scoped_refptr<GLSurface> surface( |
- new NativeViewGLSurfaceOSMesa(window)); |
+ new NativeViewGLSurfaceOSMesa(window, requested_configuration)); |
if (!surface->Initialize()) |
return NULL; |
return surface; |
} |
case kGLImplementationDesktopGL: { |
- scoped_refptr<GLSurface> surface(new NativeViewGLSurfaceGLX(window)); |
+ scoped_refptr<GLSurface> surface( |
+ new NativeViewGLSurfaceGLX(window, requested_configuration)); |
if (!surface->Initialize()) |
return NULL; |
@@ -292,14 +299,15 @@ scoped_refptr<GLSurface> GLSurface::CreateViewGLSurface( |
} |
case kGLImplementationEGLGLES2: { |
DCHECK(window != gfx::kNullAcceleratedWidget); |
- scoped_refptr<GLSurface> surface(new NativeViewGLSurfaceEGL(window)); |
+ scoped_refptr<GLSurface> surface( |
+ new NativeViewGLSurfaceEGL(window, requested_configuration)); |
if (!surface->Initialize()) |
return NULL; |
return surface; |
} |
case kGLImplementationMockGL: |
- return new GLSurfaceStub; |
+ return new GLSurfaceStub(requested_configuration); |
default: |
NOTREACHED(); |
return NULL; |
@@ -307,33 +315,38 @@ scoped_refptr<GLSurface> GLSurface::CreateViewGLSurface( |
} |
scoped_refptr<GLSurface> GLSurface::CreateOffscreenGLSurface( |
- const gfx::Size& size) { |
+ const gfx::Size& size, |
+ const gfx::SurfaceConfiguration& requested_configuration) { |
TRACE_EVENT0("gpu", "GLSurface::CreateOffscreenGLSurface"); |
switch (GetGLImplementation()) { |
case kGLImplementationOSMesaGL: { |
scoped_refptr<GLSurface> surface( |
- new GLSurfaceOSMesa(OSMesaSurfaceFormatRGBA, size)); |
+ new GLSurfaceOSMesa(OSMesaSurfaceFormatRGBA, |
+ size, |
+ requested_configuration)); |
if (!surface->Initialize()) |
return NULL; |
return surface; |
} |
case kGLImplementationDesktopGL: { |
- scoped_refptr<GLSurface> surface(new PbufferGLSurfaceGLX(size)); |
+ scoped_refptr<GLSurface> surface( |
+ new PbufferGLSurfaceGLX(size, requested_configuration)); |
if (!surface->Initialize()) |
return NULL; |
return surface; |
} |
case kGLImplementationEGLGLES2: { |
- scoped_refptr<GLSurface> surface(new PbufferGLSurfaceEGL(size)); |
+ scoped_refptr<GLSurface> surface( |
+ new PbufferGLSurfaceEGL(size, requested_configuration)); |
if (!surface->Initialize()) |
return NULL; |
return surface; |
} |
case kGLImplementationMockGL: |
- return new GLSurfaceStub; |
+ return new GLSurfaceStub(requested_configuration); |
default: |
NOTREACHED(); |
return NULL; |