summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/gpu_scheduler_mac.cc
diff options
context:
space:
mode:
authorapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-11 19:22:37 +0000
committerapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-11 19:22:37 +0000
commit92c2bc5ac0f605a14dfa88649e7c5a844eb0922b (patch)
tree814efb2ec279b176a052713fba9ae8d000265116 /gpu/command_buffer/service/gpu_scheduler_mac.cc
parentb6793a8d2f4af8c0ca6cfca6fbe3168f5de75b5e (diff)
downloadchromium_src-92c2bc5ac0f605a14dfa88649e7c5a844eb0922b.zip
chromium_src-92c2bc5ac0f605a14dfa88649e7c5a844eb0922b.tar.gz
chromium_src-92c2bc5ac0f605a14dfa88649e7c5a844eb0922b.tar.bz2
Split GLContext::Create*GLContext into GLSurface::Create*GLSurface plus a surface type independent GLContext::CreateGLContext.
TEST=webgl on windows and mac, trybots BUG=none Review URL: http://codereview.chromium.org/6997003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85013 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/gpu_scheduler_mac.cc')
-rw-r--r--gpu/command_buffer/service/gpu_scheduler_mac.cc17
1 files changed, 15 insertions, 2 deletions
diff --git a/gpu/command_buffer/service/gpu_scheduler_mac.cc b/gpu/command_buffer/service/gpu_scheduler_mac.cc
index f89bfb5..717230c 100644
--- a/gpu/command_buffer/service/gpu_scheduler_mac.cc
+++ b/gpu/command_buffer/service/gpu_scheduler_mac.cc
@@ -4,6 +4,7 @@
#include "gpu/command_buffer/service/gpu_scheduler.h"
#include "ui/gfx/gl/gl_context.h"
+#include "ui/gfx/gl/gl_surface.h"
using ::base::SharedMemory;
@@ -28,10 +29,22 @@ bool GpuScheduler::Initialize(
DCHECK(parent_context);
}
+ scoped_ptr<gfx::GLSurface> surface(
+ gfx::GLSurface::CreateOffscreenGLSurface(gfx::Size(1, 1)));
+ if (!surface.get()) {
+ LOG(ERROR) << "CreateOffscreenGLSurface failed.\n";
+ Destroy();
+ return false;
+ }
+
+ // Create a GLContext and attach the surface.
scoped_ptr<gfx::GLContext> context(
- gfx::GLContext::CreateOffscreenGLContext(parent_context));
- if (!context.get())
+ gfx::GLContext::CreateGLContext(surface.release(), parent_context));
+ if (!context.get()) {
+ LOG(ERROR) << "CreateGLContext failed.\n";
+ Destroy();
return false;
+ }
// On Mac OS X since we can not render on-screen we don't even
// attempt to create a view based GLContext. The only difference