diff --git a/src/Cafe/HW/Latte/Renderer/Metal/MetalRenderer.cpp b/src/Cafe/HW/Latte/Renderer/Metal/MetalRenderer.cpp index 20b7af256..58ca83c73 100644 --- a/src/Cafe/HW/Latte/Renderer/Metal/MetalRenderer.cpp +++ b/src/Cafe/HW/Latte/Renderer/Metal/MetalRenderer.cpp @@ -49,6 +49,7 @@ std::vector MetalRenderer::GetDevices() MTL::Device* device = static_cast(devices->object(i)); result.emplace_back(std::string(device->name()->utf8String()), device->registryID()); } + devices->release(); return result; } @@ -130,6 +131,7 @@ MetalRenderer::MetalRenderer() break; } } + devices->release(); } if (!m_device) diff --git a/src/Cafe/HW/Latte/Renderer/Metal/RendererShaderMtl.cpp b/src/Cafe/HW/Latte/Renderer/Metal/RendererShaderMtl.cpp index b0ba48a4e..88f436db4 100644 --- a/src/Cafe/HW/Latte/Renderer/Metal/RendererShaderMtl.cpp +++ b/src/Cafe/HW/Latte/Renderer/Metal/RendererShaderMtl.cpp @@ -340,6 +340,7 @@ void RendererShaderMtl::CompileInternal() { // Compile from source library = LibraryFromSource(); + FinishCompilation(); if (!library) return;