summaryrefslogtreecommitdiff
path: root/src/hardwareintegration/client
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-01-18 03:05:18 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-01-18 03:05:18 +0100
commitec10511b6cef317a16de238585c73e063ef9cfd7 (patch)
treec28c2a0ab87d53007715f1c75f01197538519cf7 /src/hardwareintegration/client
parent59abce08c795e41608be7b77eb2c1800bf95004e (diff)
parent5a66bc64b0b157929c9fc76f0f4ae046393be600 (diff)
downloadqtwayland-ec10511b6cef317a16de238585c73e063ef9cfd7.tar.gz
Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: Ibd911372386f9f5fddb13afa05b84af6fe422fdd
Diffstat (limited to 'src/hardwareintegration/client')
-rw-r--r--src/hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.cpp4
-rw-r--r--src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp4
-rw-r--r--src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp6
3 files changed, 13 insertions, 1 deletions
diff --git a/src/hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.cpp b/src/hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.cpp
index 75419646..42c85f7d 100644
--- a/src/hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.cpp
+++ b/src/hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.cpp
@@ -125,7 +125,11 @@ void DrmEglServerBufferIntegration::initializeEgl()
return;
m_egl_initialized = true;
+#if defined(EGL_VERSION_1_5) && defined(EGL_PLATFORM_WAYLAND_EXT)
+ m_egl_display = eglGetPlatformDisplay(EGL_PLATFORM_WAYLAND_EXT, m_display->wl_display(), nullptr);
+#else
m_egl_display = eglGetDisplay((EGLNativeDisplayType) m_display->wl_display());
+#endif
if (m_egl_display == EGL_NO_DISPLAY) {
qWarning("Failed to initialize drm egl server buffer integration. Could not get egl display from wl_display.");
return;
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp
index bdd005db..6bd2f76e 100644
--- a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp
@@ -76,6 +76,9 @@ QWaylandEglClientBufferIntegration::~QWaylandEglClientBufferIntegration()
void QWaylandEglClientBufferIntegration::initialize(QWaylandDisplay *display)
{
+#if defined(EGL_VERSION_1_5) && defined(EGL_PLATFORM_WAYLAND_EXT)
+ m_eglDisplay = eglGetPlatformDisplay(EGL_PLATFORM_WAYLAND_EXT, display->wl_display(), nullptr);
+#else
if (q_hasEglExtension(EGL_NO_DISPLAY, "EGL_EXT_platform_base")) {
if (q_hasEglExtension(EGL_NO_DISPLAY, "EGL_KHR_platform_wayland") ||
q_hasEglExtension(EGL_NO_DISPLAY, "EGL_EXT_platform_wayland") ||
@@ -98,6 +101,7 @@ void QWaylandEglClientBufferIntegration::initialize(QWaylandDisplay *display)
m_eglDisplay = eglGetDisplay((EGLNativeDisplayType) display->wl_display());
}
+#endif
m_display = display;
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
index 7679a5fb..8ea8e109 100644
--- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
@@ -346,7 +346,11 @@ void QWaylandGLContext::updateGLFormat()
wl_surface *wlSurface = m_display->createSurface(nullptr);
wl_egl_window *eglWindow = wl_egl_window_create(wlSurface, 1, 1);
- EGLSurface eglSurface = eglCreateWindowSurface(m_eglDisplay, m_config, eglWindow, 0);
+#if defined(EGL_VERSION_1_5)
+ EGLSurface eglSurface = eglCreatePlatformWindowSurface(m_eglDisplay, m_config, eglWindow, nullptr);
+#else
+ EGLSurface eglSurface = eglCreateWindowSurface(m_eglDisplay, m_config, eglWindow, nullptr);
+#endif
if (eglMakeCurrent(m_eglDisplay, eglSurface, eglSurface, m_context)) {
if (m_format.renderableType() == QSurfaceFormat::OpenGL