cleaning renderpass, framebuffers and swapchain code, setting all vulkan resources to NULL after destroy

This commit is contained in:
2023-11-18 17:25:30 +01:00
parent 519691a944
commit 19ccc1230e
23 changed files with 435 additions and 299 deletions

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/08 19:14:29 by maldavid #+# #+# */
/* Updated: 2023/11/11 10:38:01 by maldavid ### ########.fr */
/* Updated: 2023/11/18 17:22:02 by maldavid ### ########.fr */
/* */
/* ************************************************************************** */
@@ -154,5 +154,6 @@ namespace mlx
void Device::destroy() noexcept
{
vkDestroyDevice(_device, nullptr);
_device = VK_NULL_HANDLE;
}
}

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/02 17:53:06 by maldavid #+# #+# */
/* Updated: 2023/11/08 20:14:23 by maldavid ### ########.fr */
/* Updated: 2023/11/18 17:07:21 by maldavid ### ########.fr */
/* */
/* ************************************************************************** */
@@ -42,6 +42,8 @@ namespace mlx
void Fence::destroy() noexcept
{
vkDestroyFence(Render_Core::get().getDevice().get(), _fence, nullptr);
if(_fence != VK_NULL_HANDLE)
vkDestroyFence(Render_Core::get().getDevice().get(), _fence, nullptr);
_fence = VK_NULL_HANDLE;
}
}

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/08 19:04:21 by maldavid #+# #+# */
/* Updated: 2023/11/08 20:13:30 by maldavid ### ########.fr */
/* Updated: 2023/11/18 17:21:42 by maldavid ### ########.fr */
/* */
/* ************************************************************************** */
@@ -88,5 +88,6 @@ namespace mlx
void Instance::destroy() noexcept
{
vkDestroyInstance(_instance, nullptr);
_instance = VK_NULL_HANDLE;
}
}

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/08 19:01:08 by maldavid #+# #+# */
/* Updated: 2023/11/08 20:14:36 by maldavid ### ########.fr */
/* Updated: 2023/11/18 17:22:29 by maldavid ### ########.fr */
/* */
/* ************************************************************************** */
@@ -32,6 +32,8 @@ namespace mlx
void Semaphore::destroy() noexcept
{
vkDestroySemaphore(Render_Core::get().getDevice().get(), _renderFinishedSemaphores, nullptr);
_renderFinishedSemaphores = VK_NULL_HANDLE;
vkDestroySemaphore(Render_Core::get().getDevice().get(), _imageAvailableSemaphores, nullptr);
_imageAvailableSemaphores = VK_NULL_HANDLE;
}
}

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/08 18:58:49 by maldavid #+# #+# */
/* Updated: 2023/11/08 20:14:48 by maldavid ### ########.fr */
/* Updated: 2023/11/18 17:22:38 by maldavid ### ########.fr */
/* */
/* ************************************************************************** */
@@ -41,5 +41,6 @@ namespace mlx
void Surface::destroy() noexcept
{
vkDestroySurfaceKHR(Render_Core::get().getInstance().get(), _surface, nullptr);
_surface = VK_NULL_HANDLE;
}
}