summaryrefslogtreecommitdiffstats
path: root/examples/wayland/qwindow-compositor/compositor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/wayland/qwindow-compositor/compositor.cpp')
-rw-r--r--examples/wayland/qwindow-compositor/compositor.cpp25
1 files changed, 3 insertions, 22 deletions
diff --git a/examples/wayland/qwindow-compositor/compositor.cpp b/examples/wayland/qwindow-compositor/compositor.cpp
index e9231faf9..a55bb3b72 100644
--- a/examples/wayland/qwindow-compositor/compositor.cpp
+++ b/examples/wayland/qwindow-compositor/compositor.cpp
@@ -65,32 +65,13 @@ View::View()
, m_parentView(nullptr)
{}
-GLuint View::getTexture(GLenum *target)
+QOpenGLTexture *View::getTexture()
{
- QWaylandBufferRef buf = currentBuffer();
- GLuint streamingTexture = buf.textureForPlane(0);
- if (streamingTexture)
- m_texture = streamingTexture;
-
- if (!buf.isSharedMemory() && buf.bufferFormatEgl() == QWaylandBufferRef::BufferFormatEgl_EXTERNAL_OES)
- m_textureTarget = GL_TEXTURE_EXTERNAL_OES;
-
if (advance()) {
- buf = currentBuffer();
- if (!m_texture)
- glGenTextures(1, &m_texture);
-
- glBindTexture(m_textureTarget, m_texture);
- if (buf.isSharedMemory())
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- buf.bindToTexture();
+ QWaylandBufferRef buf = currentBuffer();
+ m_texture = buf.toOpenGLTexture();
}
- buf.updateTexture();
-
- if (target)
- *target = m_textureTarget;
-
return m_texture;
}