Added to cleanup

main
noah metz 2024-01-12 22:23:48 -07:00
parent 78977dd7ab
commit 3e7920bc92
1 changed files with 47 additions and 0 deletions

@ -3107,6 +3107,53 @@ void main_loop(GLFWwindow* window, VulkanContext* context) {
void cleanup(GLFWwindow* window, VulkanContext* context) { void cleanup(GLFWwindow* window, VulkanContext* context) {
if(context != 0) { if(context != 0) {
if(context->instance != VK_NULL_HANDLE) { if(context->instance != VK_NULL_HANDLE) {
if(context->extra_graphics_pool != VK_NULL_HANDLE) {
vkDestroyCommandPool(context->device, context->extra_graphics_pool, 0);
}
if(context->render_pass != VK_NULL_HANDLE) {
vkDestroyRenderPass(context->device, context->render_pass, 0);
}
if(context->depth_image != VK_NULL_HANDLE) {
vkDestroyImage(context->device, context->depth_image, 0);
}
for(uint32_t i = 0; i < context->swapchain_image_count; i++) {
vkDestroyFramebuffer(context->device, context->swapchain_framebuffers[i], 0);
vkDestroyImageView(context->device, context->swapchain_image_views[i], 0);
}
if(context->swapchain != VK_NULL_HANDLE) {
vkDestroySwapchainKHR(context->device, context->swapchain, 0);
}
for(uint32_t i = 0; i < context->max_frames_in_flight; i++) {
vkDestroySemaphore(context->device, context->image_available_semaphores[i], 0);
vkDestroySemaphore(context->device, context->render_finished_semaphores[i], 0);
vkDestroyFence(context->device, context->in_flight_fences[i], 0);
}
if(context->depth_image_view != VK_NULL_HANDLE) {
vkDestroyImageView(context->device, context->depth_image_view, 0);
}
if(context->depth_image_memory != VK_NULL_HANDLE) {
vkFreeMemory(context->device, context->depth_image_memory, 0);
}
if(context->graphics_command_pool != VK_NULL_HANDLE) {
vkDestroyCommandPool(context->device, context->graphics_command_pool, 0);
}
if(context->transfer_command_pool != VK_NULL_HANDLE) {
vkDestroyCommandPool(context->device, context->transfer_command_pool, 0);
}
if(context->swapchain_command_buffers != NULL) {
free(context->swapchain_command_buffers);
}
if(context->swapchain != VK_NULL_HANDLE) { if(context->swapchain != VK_NULL_HANDLE) {
vkDestroySwapchainKHR(context->device, context->swapchain, 0); vkDestroySwapchainKHR(context->device, context->swapchain, 0);
} }