diff options
author | Louai Al-Khanji <louai.al-khanji@theqtcompany.com> | 2016-02-19 15:58:33 -0800 |
---|---|---|
committer | Louai Al-Khanji <louai.al-khanji@qt.io> | 2016-04-29 16:09:07 +0000 |
commit | ab2d5162039bd7dac6547a5984dbe6e19b7d835c (patch) | |
tree | 6e2f8da3c6e9340634821666c8b7079870f57566 /src/compositor/wayland_wrapper | |
parent | aae5a5b19c320f367a7e43d54d84b0562a85737a (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.cpp | 18 | ||||
-rw-r--r-- | src/compositor/wayland_wrapper/qwlsurfacebuffer_p.h | 3 |
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; |