summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTasuku Suzuki <tasuku.suzuki@signal-slot.co.jp>2022-09-30 10:26:59 +0900
committerYAMAMOTO Atsushi <atsushi.yamamoto@signal-slot.co.jp>2022-11-29 10:22:00 +0900
commitca499bf7f07f7e39371f6909f3c85084be648084 (patch)
treec0113341b6d4208e94fdd60fd7cd9e7c9def0c4a
parentddca6eb0e97764634a3abb883e87420fc8e36cc1 (diff)
RHI: Fix memory leak in RenderCommand
allocated in Renderer::setBindingAndShaderResourcesForCommand Pick-to: 6.4 Task-number: QTBUG-106972 Change-Id: I4d0a64f1fbb0e9037b1e4c930f91e1b55412f180 Reviewed-by: Mike Krus <mike.krus@kdab.com>
-rw-r--r--src/plugins/renderers/rhi/renderer/rendercommand.cpp6
-rw-r--r--src/plugins/renderers/rhi/renderer/rendercommand_p.h1
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;