diff options
Diffstat (limited to 'src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp')
-rw-r--r-- | src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp | 16 |
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); |