diff options
Diffstat (limited to 'examples/wayland/qwindow-compositor/compositor.cpp')
-rw-r--r-- | examples/wayland/qwindow-compositor/compositor.cpp | 25 |
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; } |