diff options
author | Tasuku Suzuki <tasuku.suzuki@signal-slot.co.jp> | 2022-09-30 10:26:59 +0900 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-11-29 04:17:31 +0000 |
commit | 9e099dc632ecd78642c32c286cc962a227a226d7 (patch) | |
tree | 4f9949fe3867635cfefd74f18111af45a66f78d7 | |
parent | ffb2d6edd387d11dbf04fffb0bdf83ff12ea67ce (diff) | |
download | qt3d-9e099dc632ecd78642c32c286cc962a227a226d7.tar.gz |
RHI: Fix memory leak in RenderCommand
allocated in Renderer::setBindingAndShaderResourcesForCommand
Task-number: QTBUG-106972
Change-Id: I4d0a64f1fbb0e9037b1e4c930f91e1b55412f180
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit ca499bf7f07f7e39371f6909f3c85084be648084)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/plugins/renderers/rhi/renderer/rendercommand.cpp | 6 | ||||
-rw-r--r-- | src/plugins/renderers/rhi/renderer/rendercommand_p.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/renderers/rhi/renderer/rendercommand.cpp b/src/plugins/renderers/rhi/renderer/rendercommand.cpp index 662bdf1c6..e9ef1e99b 100644 --- a/src/plugins/renderers/rhi/renderer/rendercommand.cpp +++ b/src/plugins/renderers/rhi/renderer/rendercommand.cpp @@ -59,6 +59,12 @@ RenderCommand::RenderCommand() m_workGroups[2] = 0; } +RenderCommand::~RenderCommand() +{ + if (shaderResourceBindings) + shaderResourceBindings->deleteLater(); +} + bool RenderCommand::isValid() const noexcept { return m_isValid && m_rhiShader && pipeline.isValid(); diff --git a/src/plugins/renderers/rhi/renderer/rendercommand_p.h b/src/plugins/renderers/rhi/renderer/rendercommand_p.h index f256a9574..dc5d97f93 100644 --- a/src/plugins/renderers/rhi/renderer/rendercommand_p.h +++ b/src/plugins/renderers/rhi/renderer/rendercommand_p.h @@ -77,6 +77,7 @@ class Q_AUTOTEST_EXPORT RenderCommand { public: RenderCommand(); + ~RenderCommand(); bool isValid() const noexcept; |