diff --git a/graphics/deko3d/deko_examples/source/SampleFramework/CCmdMemRing.h b/graphics/deko3d/deko_examples/source/SampleFramework/CCmdMemRing.h index 3a8e1a0..f124f89 100644 --- a/graphics/deko3d/deko_examples/source/SampleFramework/CCmdMemRing.h +++ b/graphics/deko3d/deko_examples/source/SampleFramework/CCmdMemRing.h @@ -15,6 +15,11 @@ class CCmdMemRing dk::Fence m_fences[NumSlices]; public: CCmdMemRing() : m_mem{}, m_curSlice{}, m_fences{} { } + + CCmdMemRing(const CCmdMemRing&) = delete; + + CCmdMemRing& operator=(const CCmdMemRing&) = delete; + ~CCmdMemRing() { m_mem.destroy(); diff --git a/graphics/deko3d/deko_examples/source/SampleFramework/CDescriptorSet.h b/graphics/deko3d/deko_examples/source/SampleFramework/CDescriptorSet.h index a1c0ed9..00cd36f 100644 --- a/graphics/deko3d/deko_examples/source/SampleFramework/CDescriptorSet.h +++ b/graphics/deko3d/deko_examples/source/SampleFramework/CDescriptorSet.h @@ -18,7 +18,12 @@ class CDescriptorSet CMemPool::Handle m_mem; public: CDescriptorSet() : m_mem{} { } - ~CDescriptorSet() + + CDescriptorSet(const CDescriptorSet&) = delete; + + CDescriptorSet& operator=(const CDescriptorSet&) = delete; + + ~CDescriptorSet() { m_mem.destroy(); } diff --git a/graphics/deko3d/deko_examples/source/SampleFramework/CExternalImage.h b/graphics/deko3d/deko_examples/source/SampleFramework/CExternalImage.h index 230e2e9..6bbde41 100644 --- a/graphics/deko3d/deko_examples/source/SampleFramework/CExternalImage.h +++ b/graphics/deko3d/deko_examples/source/SampleFramework/CExternalImage.h @@ -13,6 +13,11 @@ class CExternalImage CMemPool::Handle m_mem; public: CExternalImage() : m_image{}, m_descriptor{}, m_mem{} { } + + CExternalImage(const CExternalImage&) = delete; + + CExternalImage& operator=(const CExternalImage&) = delete; + ~CExternalImage() { m_mem.destroy(); diff --git a/graphics/deko3d/deko_examples/source/SampleFramework/CMemPool.h b/graphics/deko3d/deko_examples/source/SampleFramework/CMemPool.h index 978755c..20907a3 100644 --- a/graphics/deko3d/deko_examples/source/SampleFramework/CMemPool.h +++ b/graphics/deko3d/deko_examples/source/SampleFramework/CMemPool.h @@ -20,6 +20,10 @@ class CMemPool void* m_cpuAddr; DkGpuAddr m_gpuAddr; + Block(const Block&) = delete; + + Block& operator=(const Block&) = delete; + constexpr void* cpuOffset(uint32_t offset) const { return m_cpuAddr ? ((u8*)m_cpuAddr + offset) : nullptr; @@ -42,6 +46,10 @@ class CMemPool uint32_t m_start; uint32_t m_end; + Slice(const Slice&) = delete; + + Slice& operator=(const Slice&) = delete; + constexpr uint32_t getSize() const { return m_end - m_start; } constexpr bool canCoalesce(Slice const& rhs) const { return m_pool == rhs.m_pool && m_block == rhs.m_block && m_end == rhs.m_start; } @@ -109,9 +117,14 @@ public: CMemPool(dk::Device dev, uint32_t flags = DkMemBlockFlags_CpuUncached | DkMemBlockFlags_GpuCached, uint32_t blockSize = DefaultBlockSize) : m_dev{dev}, m_flags{flags}, m_blockSize{blockSize}, m_blocks{}, m_memMap{}, m_sliceHeap{}, m_freeList{} { } + ~CMemPool(); Handle allocate(uint32_t size, uint32_t alignment = DK_CMDMEM_ALIGNMENT); + + CMemPool(const CMemPool&) = delete; + + CMemPool& operator=(const CMemPool&) = delete; }; constexpr bool operator<(uint32_t lhs, CMemPool::Slice const& rhs) diff --git a/graphics/deko3d/deko_examples/source/SampleFramework/CShader.h b/graphics/deko3d/deko_examples/source/SampleFramework/CShader.h index b39dfe0..ae9215a 100644 --- a/graphics/deko3d/deko_examples/source/SampleFramework/CShader.h +++ b/graphics/deko3d/deko_examples/source/SampleFramework/CShader.h @@ -12,6 +12,11 @@ class CShader CMemPool::Handle m_codemem; public: CShader() : m_shader{}, m_codemem{} { } + + CShader(const CShader&) = delete; + + CShader& operator=(const CShader&) = delete; + ~CShader() { m_codemem.destroy();