summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2010-06-17 18:52:17 -0700
committerJesse Barnes <jbarnes@virtuousgeek.org>2010-06-17 18:52:17 -0700
commitc92a812a65c15063fe58b4c93556427dbc955989 (patch)
treeeeda690d743c20f917ccbb0518b3acb40dd909f0
parent06681f30890c10fb1acb01d8c6a3a07a4d651eae (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.cpp28
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