diff options
author | Jorgen Lind <jorgen.lind@digia.com> | 2014-01-07 09:20:15 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-09 12:25:11 +0100 |
commit | 3323630585ea40842db42ad64ad45fe5b465a5b8 (patch) | |
tree | e0a11de2279210ff22f57799e576e2f069cbeba0 /examples | |
parent | 10700eb19191879caf41bc188dca807b68a4146c (diff) |
Adjust the serverbufferintegrations to use bind texture api
It mapps closer to the underlying OpenGL architecture
Change-Id: I4e0dca4d54670846488c86df2a0fa0c58d49734d
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/server-buffer/client/serverbufferrenderer.cpp | 4 | ||||
-rw-r--r-- | examples/server-buffer/compositor/main.cpp | 8 | ||||
-rw-r--r-- | examples/server-buffer/compositor/serverbufferitem.cpp | 6 |
3 files changed, 14 insertions, 4 deletions
diff --git a/examples/server-buffer/client/serverbufferrenderer.cpp b/examples/server-buffer/client/serverbufferrenderer.cpp index 84d1b04b7..b9aa7a018 100644 --- a/examples/server-buffer/client/serverbufferrenderer.cpp +++ b/examples/server-buffer/client/serverbufferrenderer.cpp @@ -96,7 +96,9 @@ ServerBufferRenderer::ServerBufferRenderer(QWaylandServerBuffer *serverBuffer) qDebug() << m_program->log(); } - m_texture = serverBuffer->createTexture(); + glGenTextures(1,&m_texture); + glBindTexture(GL_TEXTURE_2D, m_texture); + serverBuffer->bindTextureToBuffer(); glGenBuffers(1, &m_vertexbuffer); glBindBuffer(GL_ARRAY_BUFFER, m_vertexbuffer); diff --git a/examples/server-buffer/compositor/main.cpp b/examples/server-buffer/compositor/main.cpp index 5e1f014b8..c266b2241 100644 --- a/examples/server-buffer/compositor/main.cpp +++ b/examples/server-buffer/compositor/main.cpp @@ -171,8 +171,10 @@ private slots: m_server_buffer_32_bit = sbi->createServerBuffer(image.size(),QWaylandServerBuffer::RGBA32); - GLuint texture_32_bit = m_server_buffer_32_bit->createTexture(); + GLuint texture_32_bit; + glGenTextures(1, &texture_32_bit); glBindTexture(GL_TEXTURE_2D, texture_32_bit); + m_server_buffer_32_bit->bindTextureToBuffer(); glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, image.width(), image.height(), GL_RGBA, GL_UNSIGNED_BYTE, image.constBits()); glBindTexture(GL_TEXTURE_2D, 0); @@ -188,8 +190,10 @@ private slots: QImage img = distanceField.toImage(QImage::Format_Indexed8); m_server_buffer_8_bit = sbi->createServerBuffer(img.size(), QWaylandServerBuffer::A8); - GLuint texture_8_bit = m_server_buffer_8_bit->createTexture(); + GLuint texture_8_bit; + glGenTextures(1, &texture_8_bit); glBindTexture(GL_TEXTURE_2D, texture_8_bit); + m_server_buffer_8_bit->bindTextureToBuffer(); glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, img.width(), img.height(), GL_ALPHA, GL_UNSIGNED_BYTE, img.constBits()); } diff --git a/examples/server-buffer/compositor/serverbufferitem.cpp b/examples/server-buffer/compositor/serverbufferitem.cpp index ca3157ae0..8227b8716 100644 --- a/examples/server-buffer/compositor/serverbufferitem.cpp +++ b/examples/server-buffer/compositor/serverbufferitem.cpp @@ -86,7 +86,11 @@ void ServerBufferItem::updateTexture() return; QQuickWindow::CreateTextureOptions opt = QQuickWindow::TextureHasAlphaChannel; - m_provider->setTexture(window()->createTextureFromId(m_server_buffer->createTexture(), m_server_buffer->size(), opt)); + GLuint texture; + glGenTextures(1,&texture); + glBindTexture(GL_TEXTURE_2D, texture); + m_server_buffer->bindTextureToBuffer(); + m_provider->setTexture(window()->createTextureFromId(texture, m_server_buffer->size(), opt)); } QSGNode *ServerBufferItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) |