From bc82af19c1ad18da5fe2e89d33930a28878e1a83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?= Date: Wed, 26 Dec 2018 14:11:57 -0800 Subject: [PATCH] Metal: Fixed main swapchain leak. --- src/renderer_mtl.mm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/renderer_mtl.mm b/src/renderer_mtl.mm index 6be1d7849..118256855 100644 --- a/src/renderer_mtl.mm +++ b/src/renderer_mtl.mm @@ -389,7 +389,7 @@ namespace bgfx { namespace mtl retain(m_device); createFrameBuffer(m_fbh, g_platformData.nwh, 0, 0, TextureFormat::Unknown, TextureFormat::UnknownDepth); - if ( NULL == m_mainFrameBuffer.m_swapChain->m_metalLayer ) + if (NULL == m_mainFrameBuffer.m_swapChain->m_metalLayer) { release(m_device); return false; @@ -636,6 +636,7 @@ namespace bgfx { namespace mtl #if BX_PLATFORM_OSX [m_pool release]; #endif + m_occlusionQuery.postReset(); m_gpuTimer.shutdown(); @@ -667,11 +668,7 @@ namespace bgfx { namespace mtl MTL_RELEASE(m_textureDescriptor); MTL_RELEASE(m_samplerDescriptor); - MTL_RELEASE(m_mainFrameBuffer.m_swapChain->m_backBufferDepth); - if (BX_ENABLED(BX_PLATFORM_IOS) ) - { - MTL_RELEASE(m_mainFrameBuffer.m_swapChain->m_backBufferStencil); - } + m_mainFrameBuffer.destroy(); for (uint8_t i=0; i < MTL_MAX_FRAMES_IN_FLIGHT; ++i) {