diff --git a/liblava/app/gui.cpp b/liblava/app/gui.cpp index 93cb9e1e27756dd8cd5aa9e0edca3ea3e4148021..cd548395ba910508c03ca91f1882b990f60cfbeb 100644 --- a/liblava/app/gui.cpp +++ b/liblava/app/gui.cpp @@ -447,6 +447,8 @@ namespace lava { index_buffers.clear(); descriptor->free(descriptor_set, descriptor_pool->get()); + descriptor_set = VK_NULL_HANDLE; + descriptor_pool->destroy(); descriptor->destroy(); descriptor = nullptr; diff --git a/liblava/app/gui.hpp b/liblava/app/gui.hpp index 2e6f6d47f2fdd492a0516d62c6d1637636c1cdcc..51a2ac01ba45814349e6c98ecb2f780b26246dc2 100644 --- a/liblava/app/gui.hpp +++ b/liblava/app/gui.hpp @@ -125,7 +125,7 @@ namespace lava { lava::descriptor::ptr descriptor; lava::descriptor::pool::ptr descriptor_pool; - VkDescriptorSet descriptor_set = 0; + VkDescriptorSet descriptor_set = VK_NULL_HANDLE; GLFWwindow* window = nullptr; diff --git a/liblava/base/instance.cpp b/liblava/base/instance.cpp index 2c18fd4f9a4557f6956aea1cd38651d9d5ebea15..0cdeea9197a4d573713e33e0cb62be5d57c01cc2 100644 --- a/liblava/base/instance.cpp +++ b/liblava/base/instance.cpp @@ -160,7 +160,7 @@ namespace lava { vkDestroyDebugUtilsMessengerEXT(vk_instance, debug_messenger, memory::alloc()); - debug_messenger = 0; + debug_messenger = VK_NULL_HANDLE; } VkLayerPropertiesList instance::enumerate_layer_properties() { diff --git a/liblava/base/instance.hpp b/liblava/base/instance.hpp index 4c45b9d1eb964096d6365f4cb748979b74b8d82b..22de058ec613b58b947ee90f0fe34e1efe4e7684 100644 --- a/liblava/base/instance.hpp +++ b/liblava/base/instance.hpp @@ -90,7 +90,7 @@ namespace lava { debug_config debug; app_info info; - VkDebugUtilsMessengerEXT debug_messenger = 0; + VkDebugUtilsMessengerEXT debug_messenger = VK_NULL_HANDLE; }; bool check(instance::create_param::ref param); diff --git a/liblava/block/descriptor.cpp b/liblava/block/descriptor.cpp index 26d000b955b12e626fc31c8ddbbf6c5dd3893497..26174057685b92b2d17fad424fd3c33b99712482 100644 --- a/liblava/block/descriptor.cpp +++ b/liblava/block/descriptor.cpp @@ -35,7 +35,7 @@ namespace lava { void descriptor::pool::destroy() { device->call().vkDestroyDescriptorPool(device->get(), vk_pool, memory::alloc()); - vk_pool = 0; + vk_pool = VK_NULL_HANDLE; device = nullptr; sizes.clear(); @@ -64,7 +64,7 @@ namespace lava { return; device->call().vkDestroyDescriptorSetLayout(device->get(), layout, memory::alloc()); - layout = 0; + layout = VK_NULL_HANDLE; // keep device for descriptors } @@ -79,7 +79,7 @@ namespace lava { } VkDescriptorSet descriptor::allocate_set(VkDescriptorPool pool) { - VkDescriptorSet descriptor_set = 0; + VkDescriptorSet descriptor_set = VK_NULL_HANDLE; VkDescriptorSetAllocateInfo const alloc_info{ .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO, diff --git a/liblava/block/descriptor.hpp b/liblava/block/descriptor.hpp index 59f111a123b0953d5b0215e6c8691f50486ae40d..d3959e53e9ed6966e6bf4a78598a4395e97a76bf 100644 --- a/liblava/block/descriptor.hpp +++ b/liblava/block/descriptor.hpp @@ -66,7 +66,7 @@ namespace lava { private: device_ptr device = nullptr; - VkDescriptorPool vk_pool = 0; + VkDescriptorPool vk_pool = VK_NULL_HANDLE; VkDescriptorPoolSizes sizes; ui32 max = 0; @@ -118,7 +118,7 @@ namespace lava { private: device_ptr device = nullptr; - VkDescriptorSetLayout layout = 0; + VkDescriptorSetLayout layout = VK_NULL_HANDLE; binding::list bindings; }; diff --git a/liblava/block/pipeline.cpp b/liblava/block/pipeline.cpp index 368e34aa84b0ef26b01cbfb463c36021641fd5d5..449d899077d58d0d193762e21324feea4436d939 100644 --- a/liblava/block/pipeline.cpp +++ b/liblava/block/pipeline.cpp @@ -29,7 +29,7 @@ namespace lava { return; device->call().vkDestroyPipelineLayout(device->get(), layout, memory::alloc()); - layout = 0; + layout = VK_NULL_HANDLE; } void pipeline_layout::bind_descriptor_set(VkCommandBuffer cmd_buf, VkDescriptorSet descriptor_set, offset_list offsets, VkPipelineBindPoint bind_point) { @@ -42,7 +42,7 @@ namespace lava { : device(device_), pipeline_cache(pipeline_cache) {} pipeline::~pipeline() { - pipeline_cache = 0; + pipeline_cache = VK_NULL_HANDLE; layout = nullptr; } @@ -55,7 +55,7 @@ namespace lava { if (vk_pipeline) { device->call().vkDestroyPipeline(device->get(), vk_pipeline, memory::alloc()); - vk_pipeline = 0; + vk_pipeline = VK_NULL_HANDLE; } layout = nullptr; @@ -66,7 +66,7 @@ namespace lava { create_info.pNext = nullptr; create_info.flags = 0; create_info.stage = VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM; - create_info.module = 0; + create_info.module = VK_NULL_HANDLE; create_info.pName = _main_; create_info.pSpecializationInfo = &specialization_info; @@ -100,7 +100,7 @@ namespace lava { create_info.module = create_shader_module(device, shader_data); - return create_info.module != 0; + return create_info.module != VK_NULL_HANDLE; } void pipeline::shader_stage::destroy() { @@ -109,7 +109,7 @@ namespace lava { device->call().vkDestroyShaderModule(device->get(), create_info.module, memory::alloc()); - create_info.module = 0; + create_info.module = VK_NULL_HANDLE; device = nullptr; } diff --git a/liblava/block/pipeline.hpp b/liblava/block/pipeline.hpp index 9cb956f4aad513b76ccaca23ce9cb29fc5e330e5..ef4184cae2efde1f55f3c4f793b930be4bf043e2 100644 --- a/liblava/block/pipeline.hpp +++ b/liblava/block/pipeline.hpp @@ -53,7 +53,7 @@ namespace lava { private: device_ptr device = nullptr; - VkPipelineLayout layout = 0; + VkPipelineLayout layout = VK_NULL_HANDLE; descriptor::list descriptors; VkPushConstantRanges push_constant_ranges; @@ -99,7 +99,7 @@ namespace lava { } bool ready() const { - return vk_pipeline != 0; + return vk_pipeline != VK_NULL_HANDLE; } VkPipeline get() const { @@ -151,9 +151,9 @@ namespace lava { virtual void destroy_internal() = 0; device_ptr device = nullptr; - VkPipeline vk_pipeline = 0; + VkPipeline vk_pipeline = VK_NULL_HANDLE; - VkPipelineCache pipeline_cache = 0; + VkPipelineCache pipeline_cache = VK_NULL_HANDLE; pipeline_layout::ptr layout; private: @@ -307,7 +307,7 @@ namespace lava { bool create_internal() override; void destroy_internal() override; - VkRenderPass render_pass = 0; + VkRenderPass render_pass = VK_NULL_HANDLE; index subpass = 0; create_info info; diff --git a/liblava/block/render_pass.cpp b/liblava/block/render_pass.cpp index d3eaef40940f220ddda1e372b1f10bbd09f989f6..631df9c6e801731f78d3695acafe3b99f45679e0 100644 --- a/liblava/block/render_pass.cpp +++ b/liblava/block/render_pass.cpp @@ -59,7 +59,7 @@ namespace lava { if (vk_render_pass) { device->call().vkDestroyRenderPass(device->get(), vk_render_pass, memory::alloc()); - vk_render_pass = 0; + vk_render_pass = VK_NULL_HANDLE; } device = nullptr; @@ -160,7 +160,7 @@ namespace lava { continue; device->call().vkDestroyFramebuffer(device->get(), framebuffer, memory::alloc()); - framebuffer = 0; + framebuffer = VK_NULL_HANDLE; } framebuffers.clear(); diff --git a/liblava/block/render_pass.hpp b/liblava/block/render_pass.hpp index 0ddbfb0ed7ea50b3ea6ea884ca1ebb54d8e8e592..b7c825db40532df160301242632287087ec453cb 100644 --- a/liblava/block/render_pass.hpp +++ b/liblava/block/render_pass.hpp @@ -75,7 +75,7 @@ namespace lava { private: device_ptr device = nullptr; - VkRenderPass vk_render_pass = 0; + VkRenderPass vk_render_pass = VK_NULL_HANDLE; VkFramebuffers framebuffers = {}; attachment::list attachments; diff --git a/liblava/frame/swapchain.cpp b/liblava/frame/swapchain.cpp index 16b80e855c210b44678c9cb9afdfda3529b44a94..df4e2637cba830e5e3bf907d94708f03c8e16281 100644 --- a/liblava/frame/swapchain.cpp +++ b/liblava/frame/swapchain.cpp @@ -25,7 +25,7 @@ namespace lava { destroy_internal(); vkDestroySurfaceKHR(instance::get(), surface, memory::alloc()); - surface = 0; + surface = VK_NULL_HANDLE; } bool swapchain::resize(uv2 new_size) { @@ -208,7 +208,7 @@ namespace lava { return; device->vkDestroySwapchainKHR(vk_swapchain); - vk_swapchain = 0; + vk_swapchain = VK_NULL_HANDLE; } void swapchain::destroy_backbuffer_views() { diff --git a/liblava/frame/swapchain.hpp b/liblava/frame/swapchain.hpp index 8b2abcd6cb8f5105433dd87f7c81cc59d82ff03d..2b6506c3bfaaba60d875e08106a178cfb0313797 100644 --- a/liblava/frame/swapchain.hpp +++ b/liblava/frame/swapchain.hpp @@ -75,9 +75,9 @@ namespace lava { device_ptr device = nullptr; - VkSurfaceKHR surface = 0; + VkSurfaceKHR surface = VK_NULL_HANDLE; VkSurfaceFormatKHR format = {}; - VkSwapchainKHR vk_swapchain = 0; + VkSwapchainKHR vk_swapchain = VK_NULL_HANDLE; image::list backbuffers; diff --git a/liblava/frame/window.cpp b/liblava/frame/window.cpp index 1aaa4423b01a1f9d0e1a89d20fe9bba94721ffb9..c218a964dd97eb00be407a07b186fd2a7589e547 100644 --- a/liblava/frame/window.cpp +++ b/liblava/frame/window.cpp @@ -407,7 +407,7 @@ namespace lava { } // namespace lava VkSurfaceKHR lava::create_surface(GLFWwindow* window) { - VkSurfaceKHR surface = 0; + VkSurfaceKHR surface = VK_NULL_HANDLE; if (failed(glfwCreateWindowSurface(instance::get(), window, memory::alloc(), &surface))) return 0; diff --git a/liblava/resource/buffer.cpp b/liblava/resource/buffer.cpp index 44974b7abdb01ccc1a15728a8e003f0f209f8159..2855b3ad8c7c2ca79d5137d45578eef5a5af1119 100644 --- a/liblava/resource/buffer.cpp +++ b/liblava/resource/buffer.cpp @@ -99,7 +99,7 @@ namespace lava { return; vmaDestroyBuffer(device->alloc(), vk_buffer, allocation); - vk_buffer = 0; + vk_buffer = VK_NULL_HANDLE; allocation = nullptr; device = nullptr; diff --git a/liblava/resource/buffer.hpp b/liblava/resource/buffer.hpp index e86af790fd6bebe9e3c6945625cbfd67cf5e9f2c..7d74d8cd26541c637b8dbe71c23d93d46c506f21 100644 --- a/liblava/resource/buffer.hpp +++ b/liblava/resource/buffer.hpp @@ -32,7 +32,7 @@ namespace lava { } bool valid() const { - return vk_buffer != 0; + return vk_buffer != VK_NULL_HANDLE; } VkBuffer get() const { @@ -68,7 +68,7 @@ namespace lava { private: device_ptr device = nullptr; - VkBuffer vk_buffer = 0; + VkBuffer vk_buffer = VK_NULL_HANDLE; VmaAllocation allocation = nullptr; VmaAllocationInfo allocation_info = {}; diff --git a/liblava/resource/image.hpp b/liblava/resource/image.hpp index 01eee9d7d71ba836314f619a2dc94b6166b94d31..98308ff264ab3dbe3639690b5e350fd3944b0550 100644 --- a/liblava/resource/image.hpp +++ b/liblava/resource/image.hpp @@ -88,12 +88,12 @@ namespace lava { private: device_ptr device = nullptr; - VkImage vk_image = 0; + VkImage vk_image = VK_NULL_HANDLE; VkImageCreateInfo info; VmaAllocation allocation = nullptr; - VkImageView view = 0; + VkImageView view = VK_NULL_HANDLE; VkImageViewCreateInfo view_info; VkImageSubresourceRange subresource_range; diff --git a/liblava/resource/texture.cpp b/liblava/resource/texture.cpp index d30de388b5ba98b7b289db4c2fd6fba1338344d4..61e347fb6726678c4ab2010ed846711f5ccb45b2 100644 --- a/liblava/resource/texture.cpp +++ b/liblava/resource/texture.cpp @@ -85,7 +85,7 @@ namespace lava { if (auto device = img->get_device()) device->vkDestroySampler(sampler); - sampler = 0; + sampler = VK_NULL_HANDLE; } if (img) {