From f5af40afce9d453dbf2e5bab739520e1cb80ab12 Mon Sep 17 00:00:00 2001 From: Tom Englund Date: Thu, 10 Jul 2025 10:44:59 +0200 Subject: renderpass: use unique ptr instead of shared ptr lets use unique ptrs instead of refcounting shared ptr when its not needed, use rvalue reference to construct in vector directly. --- src/render/pass/ClearPassElement.hpp | 2 +- src/render/pass/Pass.cpp | 4 ++-- src/render/pass/Pass.hpp | 6 +++--- src/render/pass/ShadowPassElement.cpp | 2 +- src/render/pass/ShadowPassElement.hpp | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src/render/pass') diff --git a/src/render/pass/ClearPassElement.hpp b/src/render/pass/ClearPassElement.hpp index ff161551..067b7094 100644 --- a/src/render/pass/ClearPassElement.hpp +++ b/src/render/pass/ClearPassElement.hpp @@ -22,4 +22,4 @@ class CClearPassElement : public IPassElement { private: SClearData m_data; -}; \ No newline at end of file +}; diff --git a/src/render/pass/Pass.cpp b/src/render/pass/Pass.cpp index 32296ad7..4ad1d444 100644 --- a/src/render/pass/Pass.cpp +++ b/src/render/pass/Pass.cpp @@ -18,8 +18,8 @@ bool CRenderPass::single() const { return m_passElements.size() == 1; } -void CRenderPass::add(SP el) { - m_passElements.emplace_back(makeShared(CRegion{}, el)); +void CRenderPass::add(UP&& el) { + m_passElements.emplace_back(makeUnique(CRegion{}, std::move(el))); } void CRenderPass::simplify() { diff --git a/src/render/pass/Pass.hpp b/src/render/pass/Pass.hpp index ac564689..435b5301 100644 --- a/src/render/pass/Pass.hpp +++ b/src/render/pass/Pass.hpp @@ -11,7 +11,7 @@ class CRenderPass { bool empty() const; bool single() const; - void add(SP elem); + void add(UP&& elem); void clear(); void removeAllOfType(const std::string& type); @@ -24,11 +24,11 @@ class CRenderPass { struct SPassElementData { CRegion elementDamage; - SP element; + UP element; bool discard = false; }; - std::vector> m_passElements; + std::vector> m_passElements; void simplify(); float oneBlurRadius(); diff --git a/src/render/pass/ShadowPassElement.cpp b/src/render/pass/ShadowPassElement.cpp index cccace7e..45ad18c8 100644 --- a/src/render/pass/ShadowPassElement.cpp +++ b/src/render/pass/ShadowPassElement.cpp @@ -16,4 +16,4 @@ bool CShadowPassElement::needsLiveBlur() { bool CShadowPassElement::needsPrecomputeBlur() { return false; -} \ No newline at end of file +} diff --git a/src/render/pass/ShadowPassElement.hpp b/src/render/pass/ShadowPassElement.hpp index 7e85342a..028ac88c 100644 --- a/src/render/pass/ShadowPassElement.hpp +++ b/src/render/pass/ShadowPassElement.hpp @@ -23,4 +23,4 @@ class CShadowPassElement : public IPassElement { private: SShadowData m_data; -}; \ No newline at end of file +}; -- cgit v1.2.3