From: Samuel Rødal Date: Thu, 8 Nov 2012 12:32:07 +0000 (+0100) Subject: Relax QOpenGLContext::swapBuffers() conditions. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=15b5ed3294dc03e51f84a9d0163283f35e570944;p=profile%2Fivi%2Fqtbase.git Relax QOpenGLContext::swapBuffers() conditions. There's no need to force the context to be current and the correct FBO to be bound when swapBuffers() is called, as this can easily be handled on a per-platform basis. Change-Id: I7af5a082d6a2b03dfa2cdc874c27617139a781a9 Reviewed-by: Tor Arne Vestbø --- diff --git a/src/gui/kernel/qopenglcontext.cpp b/src/gui/kernel/qopenglcontext.cpp index 6c006ab..e8aa44d 100644 --- a/src/gui/kernel/qopenglcontext.cpp +++ b/src/gui/kernel/qopenglcontext.cpp @@ -561,11 +561,6 @@ QSurface *QOpenGLContext::surface() const Call this to finish a frame of OpenGL rendering, and make sure to call makeCurrent() again before you begin a new frame. - - If you have bound a non-default framebuffer object, you need to - use bindDefaultFramebufferObject() to make sure that the default - framebuffer object is bound before calling swapBuffers(), as - some Qt platforms assume that the default framebuffer object is bound. */ void QOpenGLContext::swapBuffers(QSurface *surface) { @@ -594,17 +589,8 @@ void QOpenGLContext::swapBuffers(QSurface *surface) return; #if !defined(QT_NO_DEBUG) - if (currentContext() != this) - qWarning() << "QOpenGLContext::swapBuffers() called with non-current surface"; - else if (!QOpenGLContextPrivate::toggleMakeCurrentTracker(this, false)) + if (!QOpenGLContextPrivate::toggleMakeCurrentTracker(this, false)) qWarning() << "QOpenGLContext::swapBuffers() called without corresponding makeCurrent()"; - - GLint framebufferBinding = 0; - glGetIntegerv(GL_FRAMEBUFFER_BINDING, &framebufferBinding); - - GLint platformFramebuffer = GLint(d->platformGLContext->defaultFramebufferObject(surfaceHandle)); - if (framebufferBinding != platformFramebuffer) - qWarning() << "QOpenGLContext::swapBuffers() called with non-default framebuffer object bound"; #endif if (surface->format().swapBehavior() == QSurfaceFormat::SingleBuffer) glFlush();