summaryrefslogtreecommitdiffstats
path: root/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp')
-rw-r--r--src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp b/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp
index a38bf95f7..3a7986ede 100644
--- a/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp
+++ b/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp
@@ -163,6 +163,22 @@ void DrmEglServerBufferIntegration::initializeHardware(QWaylandCompositor *compo
QtWaylandServer::qt_drm_egl_server_buffer::init(compositor->waylandDisplay());
}
+bool DrmEglServerBufferIntegration::supportsFormat(QWaylandServerBuffer::Format format) const
+{
+ switch (format) {
+ case QWaylandServerBuffer::RGBA32:
+ return true;
+ case QWaylandServerBuffer::A8:
+#ifdef EGL_DRM_BUFFER_FORMAT_A8_MESA
+ return true;
+#else
+ return false;
+#endif
+ default:
+ return false;
+ }
+}
+
QWaylandServerBuffer *DrmEglServerBufferIntegration::createServerBuffer(const QSize &size, QWaylandServerBuffer::Format format)
{
return new DrmEglServerBuffer(this, size, format);