summaryrefslogtreecommitdiffstats
path: root/src/compositor/wayland_wrapper
diff options
context:
space:
mode:
authorLouai Al-Khanji <louai.al-khanji@theqtcompany.com>2016-02-19 15:58:33 -0800
committerLouai Al-Khanji <louai.al-khanji@qt.io>2016-04-29 16:09:07 +0000
commitab2d5162039bd7dac6547a5984dbe6e19b7d835c (patch)
tree6e2f8da3c6e9340634821666c8b7079870f57566 /src/compositor/wayland_wrapper
parentaae5a5b19c320f367a7e43d54d84b0562a85737a (diff)
QtWaylandCompositor: Add support for different EGL buffer formats
Change-Id: Idfeeedbf247fa81dccdf28a1aa04f878900ed262 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Diffstat (limited to 'src/compositor/wayland_wrapper')
-rw-r--r--src/compositor/wayland_wrapper/qwlsurfacebuffer.cpp18
-rw-r--r--src/compositor/wayland_wrapper/qwlsurfacebuffer_p.h3
2 files changed, 12 insertions, 9 deletions
diff --git a/src/compositor/wayland_wrapper/qwlsurfacebuffer.cpp b/src/compositor/wayland_wrapper/qwlsurfacebuffer.cpp
index f48dd3400..a6509b030 100644
--- a/src/compositor/wayland_wrapper/qwlsurfacebuffer.cpp
+++ b/src/compositor/wayland_wrapper/qwlsurfacebuffer.cpp
@@ -198,6 +198,16 @@ QImage SurfaceBuffer::image() const
return QImage();
}
+QWaylandBufferRef::BufferFormatEgl SurfaceBuffer::bufferFormatEgl() const
+{
+ Q_ASSERT(isShm() == false);
+
+ if (QtWayland::ClientBufferIntegration *clientInt = QWaylandCompositorPrivate::get(m_compositor)->clientBufferIntegration())
+ return clientInt->bufferFormat(m_buffer);
+
+ return QWaylandBufferRef::BufferFormatEgl_Null;
+}
+
void SurfaceBuffer::bindToTexture() const
{
Q_ASSERT(m_compositor);
@@ -221,14 +231,6 @@ void SurfaceBuffer::bindToTexture() const
}
}
-int SurfaceBuffer::textureTarget() const
-{
- if (QtWayland::ClientBufferIntegration *clientInt = QWaylandCompositorPrivate::get(m_compositor)->clientBufferIntegration())
- return clientInt->textureTargetForBuffer(m_buffer);
-
- return 0;
-}
-
void SurfaceBuffer::updateTexture() const
{
if (QtWayland::ClientBufferIntegration *clientInt = QWaylandCompositorPrivate::get(m_compositor)->clientBufferIntegration())
diff --git a/src/compositor/wayland_wrapper/qwlsurfacebuffer_p.h b/src/compositor/wayland_wrapper/qwlsurfacebuffer_p.h
index 1d186e2d8..85f78d41b 100644
--- a/src/compositor/wayland_wrapper/qwlsurfacebuffer_p.h
+++ b/src/compositor/wayland_wrapper/qwlsurfacebuffer_p.h
@@ -54,6 +54,7 @@
#include <QAtomicInt>
#include <QtWaylandCompositor/QWaylandSurface>
+#include <QtWaylandCompositor/QWaylandBufferRef>
#include <wayland-server.h>
@@ -103,7 +104,7 @@ public:
bool isShm() const { return wl_shm_buffer_get(m_buffer); }
QImage image() const;
- int textureTarget() const;
+ QWaylandBufferRef::BufferFormatEgl bufferFormatEgl() const;
void bindToTexture() const;
void updateTexture() const;