summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/eglfs/qeglfsintegration.cpp
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@theqtcompany.com>2015-10-29 14:11:29 +0100
committerLaszlo Agocs <laszlo.agocs@theqtcompany.com>2015-11-02 09:43:29 +0000
commit317b9e9c5fd4ba318658cce2bdef3ef82e1dd288 (patch)
tree9063161f48fe4082f6c73b591bb7aeabc2f90cc3 /src/plugins/platforms/eglfs/qeglfsintegration.cpp
parentab1a5f10039429e9114cd905716b31bbec601d60 (diff)
Support for Wayland servers on i.MX6
A wayland compositor on i.MX6 needs to create the wl_display before creating the EGL display. This wl_display then needs to be exposed so that QWaylandCompositor can use it. Change-Id: Id60f6dd2fbba05140ca0671da6f17dbc2ecce3a3 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/eglfs/qeglfsintegration.cpp')
-rw-r--r--src/plugins/platforms/eglfs/qeglfsintegration.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/platforms/eglfs/qeglfsintegration.cpp b/src/plugins/platforms/eglfs/qeglfsintegration.cpp
index 2df06caa6b..ac6bb34ff1 100644
--- a/src/plugins/platforms/eglfs/qeglfsintegration.cpp
+++ b/src/plugins/platforms/eglfs/qeglfsintegration.cpp
@@ -251,7 +251,8 @@ enum ResourceType {
EglContext,
EglConfig,
NativeDisplay,
- XlibDisplay
+ XlibDisplay,
+ WaylandDisplay
};
static int resourceType(const QByteArray &key)
@@ -262,7 +263,8 @@ static int resourceType(const QByteArray &key)
QByteArrayLiteral("eglcontext"),
QByteArrayLiteral("eglconfig"),
QByteArrayLiteral("nativedisplay"),
- QByteArrayLiteral("display")
+ QByteArrayLiteral("display"),
+ QByteArrayLiteral("wl_display")
};
const QByteArray *end = names + sizeof(names) / sizeof(names[0]);
const QByteArray *result = std::find(names, end, key);
@@ -282,6 +284,9 @@ void *QEglFSIntegration::nativeResourceForIntegration(const QByteArray &resource
case NativeDisplay:
result = reinterpret_cast<void*>(nativeDisplay());
break;
+ case WaylandDisplay:
+ result = qt_egl_device_integration()->wlDisplay();
+ break;
default:
break;
}