summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorJorgen Lind <jorgen.lind@digia.com>2014-01-07 09:20:15 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-09 12:25:11 +0100
commit3323630585ea40842db42ad64ad45fe5b465a5b8 (patch)
treee0a11de2279210ff22f57799e576e2f069cbeba0 /examples
parent10700eb19191879caf41bc188dca807b68a4146c (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.cpp4
-rw-r--r--examples/server-buffer/compositor/main.cpp8
-rw-r--r--examples/server-buffer/compositor/serverbufferitem.cpp6
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 *)