From 294894610b02a2cd4682fafe139a60b2b96f3289 Mon Sep 17 00:00:00 2001 From: Paul Lemire Date: Thu, 13 Feb 2020 11:51:38 +0100 Subject: 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: I99b3df95b821670aa3bbd63209ff9bcc21afbf79 Reviewed-by: Mike Krus --- src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp') diff --git a/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp b/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp index 47779dded..b8229dd9e 100644 --- a/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp +++ b/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp @@ -506,6 +506,14 @@ void SubmissionContext::activateRenderTarget(Qt3DCore::QNodeId renderTargetNodeI activateDrawBuffers(attachments); } +void SubmissionContext::releaseRenderTarget(const Qt3DCore::QNodeId id) +{ + if (m_renderTargets.contains(id)) { + const GLuint fboId = m_renderTargets.take(id); + m_glHelper->releaseFrameBufferObject(fboId); + } +} + GLuint SubmissionContext::createRenderTarget(Qt3DCore::QNodeId renderTargetNodeId, const AttachmentPack &attachments) { const GLuint fboId = m_glHelper->createFrameBufferObject(); -- cgit v1.2.3