summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWieland Hagen <wieland.hagen@kdab.com>2017-01-09 11:16:39 +0700
committerWieland Hagen <wieland.hagen@kdab.com>2017-02-01 09:29:09 +0000
commit9c39fd7915e6d23c27ceb21bb1aa3e4b9ae2aed1 (patch)
tree3eef63ff796442a0bb7adc73d7dd9a946cc20497
parentb5f6c2b02c0fd359fb537f20f9bde8d50592eb1b (diff)
Free VAOs in Renderer::releaseGraphicsResources()
Change-Id: I7dc349dc2b91078cda3cb97fa061a7362aa36ddc Task-number: QTBUG-55489 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r--src/render/backend/renderer.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/render/backend/renderer.cpp b/src/render/backend/renderer.cpp
index c0b85c349..d38df13e2 100644
--- a/src/render/backend/renderer.cpp
+++ b/src/render/backend/renderer.cpp
@@ -401,6 +401,13 @@ void Renderer::releaseGraphicsResources()
buffer->destroy(m_graphicsContext.data());
}
+ // Do the same thing with VAOs
+ const QVector<HVao> activeVaos = m_nodesManager->vaoManager()->activeHandles();
+ for (const HVao &vaoHandle : activeVaos) {
+ OpenGLVertexArrayObject *vao = m_nodesManager->vaoManager()->data(vaoHandle);
+ vao->destroy();
+ }
+
context->doneCurrent();
} else {
qWarning() << "Failed to make context current: OpenGL resources will not be destroyed";