diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2020-02-13 11:51:38 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2020-02-13 15:59:42 +0100 |
commit | 596bc5734ba525f3d3df45980087c2b3fd90a98f (patch) | |
tree | ec1abfecd587235e50c12f4df3ea93a426ec7ba2 /src/plugins/renderers/opengl/renderer | |
parent | 9b653c35349d26110258deeea4a859a1499343e4 (diff) |
Destroy FBOs when RenderTarget node is destroyed
It appears we never destroyed FBOs which lead to bugs
when destroying and recreating a RenderTarget
Change-Id: I507b045d9b9e1088ff49f719c8846cc43c4fc8f2
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'src/plugins/renderers/opengl/renderer')
-rw-r--r-- | src/plugins/renderers/opengl/renderer/renderer.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/renderers/opengl/renderer/renderer.cpp b/src/plugins/renderers/opengl/renderer/renderer.cpp index af43a4fe5..79eca16fa 100644 --- a/src/plugins/renderers/opengl/renderer/renderer.cpp +++ b/src/plugins/renderers/opengl/renderer/renderer.cpp @@ -1434,6 +1434,13 @@ void Renderer::updateGLResources() // Record list of buffer that might need uploading lookForDownloadableBuffers(); + + // Remove destroyed FBOs + { + const QNodeIdVector destroyedRenderTargetIds = m_nodesManager->renderTargetManager()->takeRenderTargetIdsToCleanup(); + for (const Qt3DCore::QNodeId &renderTargetId : destroyedRenderTargetIds) + m_submissionContext->releaseRenderTarget(renderTargetId); + } } // Render Thread |