dEQP-VK.memory.pipeline_barrier.*: memory leak: delete render pass commands.
authorDae Kim <dae.kimpark@imgtec.com>
Fri, 8 Apr 2016 10:08:05 +0000 (11:08 +0100)
committerDae Kim <dae.kimpark@imgtec.com>
Fri, 8 Apr 2016 10:08:05 +0000 (11:08 +0100)
SubmitRenderPass was taking ownership of the render pass commands but
was not freeing them in the destructor.

external/vulkancts/modules/vulkan/memory/vktMemoryPipelineBarrierTests.cpp

index 7108c43..5923fe1 100644 (file)
@@ -4265,7 +4265,7 @@ class SubmitRenderPass : public CmdCommand
 {
 public:
                                SubmitRenderPass        (const vector<RenderPassCommand*>& commands);
-                               ~SubmitRenderPass       (void) {}
+                               ~SubmitRenderPass       (void);
        const char*     getName                         (void) const { return "SubmitRenderPass"; }
 
        void            logPrepare                      (TestLog&, size_t) const;
@@ -4295,6 +4295,12 @@ SubmitRenderPass::SubmitRenderPass (const vector<RenderPassCommand*>& commands)
 {
 }
 
+SubmitRenderPass::~SubmitRenderPass()
+{
+       for (size_t cmdNdx = 0; cmdNdx < m_commands.size(); cmdNdx++)
+               delete m_commands[cmdNdx];
+}
+
 void SubmitRenderPass::logPrepare (TestLog& log, size_t commandIndex) const
 {
        const string                            sectionName     (de::toString(commandIndex) + ":" + getName());