Index: ui/gl/gl_surface_egl.cc |
diff --git a/ui/gl/gl_surface_egl.cc b/ui/gl/gl_surface_egl.cc |
index 8c29342ab408e2f0e10fb0ff370807d449c5646c..456ad34f27bfb230b7e3a1fe95a23e1b0131245f 100644 |
--- a/ui/gl/gl_surface_egl.cc |
+++ b/ui/gl/gl_surface_egl.cc |
@@ -100,10 +100,6 @@ bool GLSurfaceEGL::InitializeOneOff() { |
if (initialized) |
return true; |
-#if defined (USE_OZONE) |
- ui::SurfaceFactoryOzone::GetInstance()->InitializeHardware(); |
-#endif |
- |
#if defined(USE_X11) |
g_native_display = base::MessagePumpForUI::GetDefaultXDisplay(); |
#elif defined(OS_WIN) |
@@ -111,6 +107,16 @@ bool GLSurfaceEGL::InitializeOneOff() { |
if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableD3D11)) { |
g_native_display = EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE; |
} |
+#elif defined(USE_OZONE) |
+ ui::SurfaceFactoryOzone* surface_factory = |
+ ui::SurfaceFactoryOzone::GetInstance(); |
+ if (surface_factory->InitializeHardware() != |
+ ui::SurfaceFactoryOzone::INITIALIZED) { |
+ LOG(ERROR) << "OZONE failed to initialize hardware"; |
+ return false; |
+ } |
+ g_native_display = reinterpret_cast<EGLNativeDisplayType>( |
+ surface_factory->GetNativeDisplay()); |
#else |
g_native_display = EGL_DEFAULT_DISPLAY; |
#endif |
@@ -362,6 +368,13 @@ bool NativeViewGLSurfaceEGL::SwapBuffers() { |
return false; |
} |
+#if defined(USE_OZONE) |
+ if (!ui::SurfaceFactoryOzone::GetInstance()->SchedulePageFlip(window_)) { |
piman
2013/08/28 19:18:57
This is weird. Why isn't it done by eglSwapBuffers
dnicoara
2013/08/29 21:27:14
Removed.
|
+ DVLOG(1) << "Ozone failed to SchedulePageFlip"; |
+ return false; |
+ } |
+#endif |
+ |
return true; |
} |