mirror of
https://github.com/switchbrew/switch-examples.git
synced 2025-06-21 13:22:40 +02:00
delete this copy c'tors to prevent lifetime issues
This commit is contained in:
parent
b55cb17676
commit
1ba7ee701c
@ -15,6 +15,9 @@ class CCmdMemRing
|
|||||||
dk::Fence m_fences[NumSlices];
|
dk::Fence m_fences[NumSlices];
|
||||||
public:
|
public:
|
||||||
CCmdMemRing() : m_mem{}, m_curSlice{}, m_fences{} { }
|
CCmdMemRing() : m_mem{}, m_curSlice{}, m_fences{} { }
|
||||||
|
|
||||||
|
CCmdMemRing(const CCmdMemRing&) = delete;
|
||||||
|
|
||||||
~CCmdMemRing()
|
~CCmdMemRing()
|
||||||
{
|
{
|
||||||
m_mem.destroy();
|
m_mem.destroy();
|
||||||
|
@ -18,7 +18,10 @@ class CDescriptorSet
|
|||||||
CMemPool::Handle m_mem;
|
CMemPool::Handle m_mem;
|
||||||
public:
|
public:
|
||||||
CDescriptorSet() : m_mem{} { }
|
CDescriptorSet() : m_mem{} { }
|
||||||
~CDescriptorSet()
|
|
||||||
|
CDescriptorSet(const CDescriptorSet&) = delete;
|
||||||
|
|
||||||
|
~CDescriptorSet()
|
||||||
{
|
{
|
||||||
m_mem.destroy();
|
m_mem.destroy();
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,9 @@ class CExternalImage
|
|||||||
CMemPool::Handle m_mem;
|
CMemPool::Handle m_mem;
|
||||||
public:
|
public:
|
||||||
CExternalImage() : m_image{}, m_descriptor{}, m_mem{} { }
|
CExternalImage() : m_image{}, m_descriptor{}, m_mem{} { }
|
||||||
|
|
||||||
|
CExternalImage(const CExternalImage&) = delete;
|
||||||
|
|
||||||
~CExternalImage()
|
~CExternalImage()
|
||||||
{
|
{
|
||||||
m_mem.destroy();
|
m_mem.destroy();
|
||||||
|
@ -42,6 +42,8 @@ class CMemPool
|
|||||||
uint32_t m_start;
|
uint32_t m_start;
|
||||||
uint32_t m_end;
|
uint32_t m_end;
|
||||||
|
|
||||||
|
Slice(const Slice&) = delete;
|
||||||
|
|
||||||
constexpr uint32_t getSize() const { return m_end - m_start; }
|
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; }
|
constexpr bool canCoalesce(Slice const& rhs) const { return m_pool == rhs.m_pool && m_block == rhs.m_block && m_end == rhs.m_start; }
|
||||||
|
|
||||||
@ -72,6 +74,8 @@ public:
|
|||||||
constexpr bool operator==(Handle const& rhs) const { return m_slice == rhs.m_slice; }
|
constexpr bool operator==(Handle const& rhs) const { return m_slice == rhs.m_slice; }
|
||||||
constexpr bool operator!=(Handle const& rhs) const { return m_slice != rhs.m_slice; }
|
constexpr bool operator!=(Handle const& rhs) const { return m_slice != rhs.m_slice; }
|
||||||
|
|
||||||
|
Handle(const Handle&) = delete;
|
||||||
|
|
||||||
void destroy()
|
void destroy()
|
||||||
{
|
{
|
||||||
if (m_slice)
|
if (m_slice)
|
||||||
@ -109,9 +113,12 @@ public:
|
|||||||
|
|
||||||
CMemPool(dk::Device dev, uint32_t flags = DkMemBlockFlags_CpuUncached | DkMemBlockFlags_GpuCached, uint32_t blockSize = DefaultBlockSize) :
|
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{} { }
|
m_dev{dev}, m_flags{flags}, m_blockSize{blockSize}, m_blocks{}, m_memMap{}, m_sliceHeap{}, m_freeList{} { }
|
||||||
|
|
||||||
~CMemPool();
|
~CMemPool();
|
||||||
|
|
||||||
Handle allocate(uint32_t size, uint32_t alignment = DK_CMDMEM_ALIGNMENT);
|
Handle allocate(uint32_t size, uint32_t alignment = DK_CMDMEM_ALIGNMENT);
|
||||||
|
|
||||||
|
CMemPool(const CMemPool&) = delete;
|
||||||
};
|
};
|
||||||
|
|
||||||
constexpr bool operator<(uint32_t lhs, CMemPool::Slice const& rhs)
|
constexpr bool operator<(uint32_t lhs, CMemPool::Slice const& rhs)
|
||||||
|
@ -12,6 +12,9 @@ class CShader
|
|||||||
CMemPool::Handle m_codemem;
|
CMemPool::Handle m_codemem;
|
||||||
public:
|
public:
|
||||||
CShader() : m_shader{}, m_codemem{} { }
|
CShader() : m_shader{}, m_codemem{} { }
|
||||||
|
|
||||||
|
CShader(const CShader&) = delete;
|
||||||
|
|
||||||
~CShader()
|
~CShader()
|
||||||
{
|
{
|
||||||
m_codemem.destroy();
|
m_codemem.destroy();
|
||||||
|
Loading…
Reference in New Issue
Block a user