Fixed crash in QOpenGLFramebufferObject.
authorSamuel Rødal <samuel.rodal@nokia.com>
Mon, 26 Sep 2011 07:33:56 +0000 (09:33 +0200)
committerQt by Nokia <qt-info@nokia.com>
Tue, 27 Sep 2011 03:15:28 +0000 (05:15 +0200)
AMD's Catalyst driver returns true in glIsRenderbuffer() for a newly
gen'ed render buffer.

Change-Id: I177425dc4b94923431cec5f89175c63782819eef
Reviewed-on: http://codereview.qt-project.org/5522
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
src/gui/opengl/qopenglframebufferobject.cpp

index 8c5eb0d..fe252df 100644 (file)
@@ -470,7 +470,6 @@ void QOpenGLFramebufferObjectPrivate::init(QOpenGLFramebufferObject *, const QSi
     {
         // depth and stencil buffer needs another extension
         funcs.glGenRenderbuffers(1, &depth_buffer);
-        Q_ASSERT(!funcs.glIsRenderbuffer(depth_buffer));
         funcs.glBindRenderbuffer(GL_RENDERBUFFER, depth_buffer);
         Q_ASSERT(funcs.glIsRenderbuffer(depth_buffer));
         if (samples != 0 && funcs.hasOpenGLExtension(QOpenGLExtensions::FramebufferMultisample))
@@ -497,7 +496,6 @@ void QOpenGLFramebufferObjectPrivate::init(QOpenGLFramebufferObject *, const QSi
         || (attachment == QOpenGLFramebufferObject::Depth)))
     {
         funcs.glGenRenderbuffers(1, &depth_buffer);
-        Q_ASSERT(!funcs.glIsRenderbuffer(depth_buffer));
         funcs.glBindRenderbuffer(GL_RENDERBUFFER, depth_buffer);
         Q_ASSERT(funcs.glIsRenderbuffer(depth_buffer));
         if (samples != 0 && funcs.hasOpenGLExtension(QOpenGLExtensions::FramebufferMultisample)) {
@@ -537,7 +535,6 @@ void QOpenGLFramebufferObjectPrivate::init(QOpenGLFramebufferObject *, const QSi
 
     if (stencil_buffer == 0 && (attachment == QOpenGLFramebufferObject::CombinedDepthStencil)) {
         funcs.glGenRenderbuffers(1, &stencil_buffer);
-        Q_ASSERT(!funcs.glIsRenderbuffer(stencil_buffer));
         funcs.glBindRenderbuffer(GL_RENDERBUFFER, stencil_buffer);
         Q_ASSERT(funcs.glIsRenderbuffer(stencil_buffer));
         if (samples != 0 && funcs.hasOpenGLExtension(QOpenGLExtensions::FramebufferMultisample)) {