diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2020-12-05 01:59:50 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2020-12-05 01:59:50 +0000 |
| commit | b1d2f4ad1895684d513ac40553516263bc8a5876 (patch) | |
| tree | a49a2be92cfafee1e0fe45de8467dbf90d81a698 /Graphics | |
| parent | DynamicAtlasManager: few minor udpates to tests (diff) | |
| download | DiligentCore-b1d2f4ad1895684d513ac40553516263bc8a5876.tar.gz DiligentCore-b1d2f4ad1895684d513ac40553516263bc8a5876.zip | |
DynamicAtlasManager: fixed dtor to allow moved-out objects
Diffstat (limited to 'Graphics')
| -rw-r--r-- | Graphics/GraphicsAccessories/src/DynamicAtlasManager.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/Graphics/GraphicsAccessories/src/DynamicAtlasManager.cpp b/Graphics/GraphicsAccessories/src/DynamicAtlasManager.cpp index 5596d935..61da8516 100644 --- a/Graphics/GraphicsAccessories/src/DynamicAtlasManager.cpp +++ b/Graphics/GraphicsAccessories/src/DynamicAtlasManager.cpp @@ -49,14 +49,23 @@ DynamicAtlasManager::DynamicAtlasManager(Uint32 Width, Uint32 Height) : DynamicAtlasManager::~DynamicAtlasManager() { + if (m_RegionMap) + { #if DILIGENT_DEBUG - DbgVerifyConsistency(); + DbgVerifyConsistency(); #endif - VERIFY_EXPR(m_FreeRegionsByWidth.size() == m_FreeRegionsByHeight.size()); - VERIFY(m_dbgRegions.size() == 1 && m_dbgRegions.begin()->R == Region(0, 0, m_Width, m_Height) && !m_dbgRegions.begin()->IsAllocated, - "Not all allocations have been freed"); - DEV_CHECK_ERR(m_FreeRegionsByWidth.size() == 1, "There expected to be a single free region"); + VERIFY_EXPR(m_FreeRegionsByWidth.size() == m_FreeRegionsByHeight.size()); + VERIFY(m_dbgRegions.size() == 1 && m_dbgRegions.begin()->R == Region(0, 0, m_Width, m_Height) && !m_dbgRegions.begin()->IsAllocated, + "Not all allocations have been freed"); + DEV_CHECK_ERR(m_FreeRegionsByWidth.size() == 1, "There expected to be a single free region"); + } + else + { + VERIFY_EXPR(m_FreeRegionsByWidth.empty()); + VERIFY_EXPR(m_FreeRegionsByHeight.empty()); + VERIFY_EXPR(m_dbgRegions.empty()); + } } DynamicAtlasManager::Region DynamicAtlasManager::Allocate(Uint32 Width, Uint32 Height) |
