MVKSwapchain::signalWhenAvailable() add autoreleasepool around MTLCommandBuffer use.
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm b/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
index b1a3d34..ff35854 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
@@ -167,12 +167,14 @@
// If signalling through a MTLEvent, use an ephemeral MTLCommandBuffer.
// Another option would be to use MTLSharedEvent in MVKSemaphore, but that might
// impose unacceptable performance costs to handle this particular case.
- MVKSemaphore* mvkSem = signaler.first;
- id<MTLCommandBuffer> mtlCmdBuff = (mvkSem && mvkSem->isUsingMTLEvent()
- ? [_device->getQueue()->getMTLCommandQueue() commandBufferWithUnretainedReferences]
- : nil);
- signal(signaler, mtlCmdBuff);
- [mtlCmdBuff commit];
+ @autoreleasepool {
+ MVKSemaphore* mvkSem = signaler.first;
+ id<MTLCommandBuffer> mtlCmdBuff = (mvkSem && mvkSem->isUsingMTLEvent()
+ ? [_device->getQueue()->getMTLCommandQueue() commandBufferWithUnretainedReferences]
+ : nil);
+ signal(signaler, mtlCmdBuff);
+ [mtlCmdBuff commit];
+ }
_imageAvailability[imageIndex].preSignaled = signaler;
} else {