diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2010-06-17 18:52:17 -0700 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2010-06-17 18:52:17 -0700 |
commit | c92a812a65c15063fe58b4c93556427dbc955989 (patch) | |
tree | eeda690d743c20f917ccbb0518b3acb40dd909f0 | |
parent | 06681f30890c10fb1acb01d8c6a3a07a4d651eae (diff) |
Fixup Wayland QEgl::display
Get all the right symbols, don't get them again if we've already opened
the display.
-rw-r--r-- | src/gui/egl/qegl.cpp | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp index 13127cdef8..48eb4aad90 100644 --- a/src/gui/egl/qegl.cpp +++ b/src/gui/egl/qegl.cpp @@ -584,22 +584,15 @@ EGLDisplay QEgl::display() #else EGLDisplay QEgl::display() { - static EGLDisplay dpy = EGL_NO_DISPLAY; - if (!QEglContextTracker::displayOpened()) { - dpy = qWayland->egl_display; - if (!dpy) - return EGL_NO_DISPLAY; + if (!qWayland->egl_display) + return EGL_NO_DISPLAY; - QEglContextTracker::setDisplayOpened(); - - // Resolve the egl extension function pointers: - if (QEgl::hasExtension("EGL_KHR_image") || - QEgl::hasExtension("EGL_KHR_image_base")) { - qt_eglCreateImageKHR = (_eglCreateImageKHR) - eglGetProcAddress("eglCreateImageKHR"); - qt_eglDestroyImageKHR = (_eglDestroyImageKHR) - eglGetProcAddress("eglDestroyImageKHR"); - } + if (!QEglContextTracker::displayOpened()) { + // Resolve the egl extension function pointers: + qt_eglCreateImageKHR = (_eglCreateImageKHR) + eglGetProcAddress("eglCreateImageKHR"); + qt_eglDestroyImageKHR = (_eglDestroyImageKHR) + eglGetProcAddress("eglDestroyImageKHR"); qt_eglCreateDRMImageMESA = (_eglCreateDRMImageMESA) eglGetProcAddress("eglCreateDRMImageMESA"); qt_glEGLImageTargetTexture2DOES = (_glEGLImageTargetTexture2DOES) @@ -607,9 +600,12 @@ EGLDisplay QEgl::display() qt_glEGLImageTargetRenderbufferStorageOES = (_glEGLImageTargetRenderbufferStorageOES) eglGetProcAddress("glEGLImageTargetRenderbufferStorageOES"); + qt_eglExportDRMImageMESA = (_eglExportDRMImageMESA) + eglGetProcAddress("eglExportDRMImageMESA"); } - return dpy; + QEglContextTracker::setDisplayOpened(); + return qWayland->egl_display; } #endif |