summaryrefslogtreecommitdiffstats
path: root/src/compositor/wayland_wrapper
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2012-01-26 15:02:09 +0100
committerAndy Nichols <andy.nichols@nokia.com>2012-01-26 16:04:05 +0100
commit7956891fb94d2bde80b5a2bda364f994bff76719 (patch)
tree20641d4e0ee32de633a4ea801e64a9945f3fe374 /src/compositor/wayland_wrapper
parent02ed852c0e03a975a86731d2928ad07117e913c4 (diff)
Make it possible not to have queing of buffers on the serverside
Change-Id: Ic7d3221321e2d7ecc69e56b7ad7a23322e65995d Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
Diffstat (limited to 'src/compositor/wayland_wrapper')
-rw-r--r--src/compositor/wayland_wrapper/wlsurface.cpp23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/compositor/wayland_wrapper/wlsurface.cpp b/src/compositor/wayland_wrapper/wlsurface.cpp
index 4208c1fd2..f0631177a 100644
--- a/src/compositor/wayland_wrapper/wlsurface.cpp
+++ b/src/compositor/wayland_wrapper/wlsurface.cpp
@@ -301,10 +301,9 @@ public:
newBuffer->initialize(buffer);
break;
}
- }
- if (!newBuffer) {
- qDebug() << "####################### create failed ######################";
}
+
+ Q_ASSERT(newBuffer);
return newBuffer;
}
@@ -536,18 +535,20 @@ GLuint Surface::textureId(QOpenGLContext *context) const
void Surface::attach(struct wl_buffer *buffer)
{
Q_D(Surface);
+ static bool no_serverside_buffer_queue = qgetenv("QT_NO_SERVERSIDE_BUFFER_QUEUE").toInt();
+
SurfaceBuffer *newBuffer = 0;
+ if (no_serverside_buffer_queue) {
+ if (d->surfaceBuffer && !d->surfaceBuffer->textureCreated()) {
+ qDebug() << "releasing undisplayed buffer";
+ d->surfaceBuffer->destructBufferState();
+ d->surfaceBuffer = 0;
+ }
+ }
if (buffer) {
newBuffer = d->createSurfaceBuffer(buffer);
- Q_ASSERT(newBuffer);
- }
-#if 0 //GAMING_TRIPLE_BUFFERING
- if (d->surfaceBuffer && !d->surfaceBuffer->textureCreated()) {
- //qDebug() << "releasing undisplayed buffer";
- d->surfaceBuffer->destructBufferState();
- d->surfaceBuffer = 0;
}
-#endif
+
SurfaceBuffer *last = d->bufferQueue.size()?d->bufferQueue.last():0;
if (last && !last->damageRect().isValid()) {
last->destructBufferState();