public void Dispose() { _device.WaitIdle(); _semaphorePair?.Dispose(); DestroyCurrentImageViews(); _swapchainExtension.DestroySwapchain(_device.InternalHandle, _swapchain, Span <AllocationCallbacks> .Empty); CommandBufferPool.Dispose(); }