From 769c8ef8aa429cf13bac920607690d104dd4d3ed Mon Sep 17 00:00:00 2001 From: ladevieq Date: Mon, 22 Feb 2021 23:08:42 +0100 Subject: Fix framebuffer validation errors --- include/vk-api.hpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'include/vk-api.hpp') diff --git a/include/vk-api.hpp b/include/vk-api.hpp index 4353064..ed2803b 100644 --- a/include/vk-api.hpp +++ b/include/vk-api.hpp @@ -27,6 +27,7 @@ struct Image { VkImageSubresourceRange subresource_range; VkFormat format; VkExtent3D size; + void* mapped_ptr; }; struct Swapchain { @@ -44,11 +45,11 @@ class vkapi { vkapi(); ~vkapi(); - Buffer create_buffer(size_t data_size, VkBufferUsageFlags buffer_usage, VmaMemoryUsage mem_usage); + Buffer create_buffer(size_t data_size, VkBufferUsageFlags buffer_usage, VmaMemoryUsage mem_usage, void* ptr); void destroy_buffer(Buffer& buffer); - Image create_image(VkExtent3D size, VkFormat format, VkImageUsageFlags usages); + Image create_image(VkExtent3D size, VkFormat format, VkImageUsageFlags usages, void* ptr); void destroy_image(Image &image); std::vector create_images(VkExtent3D size, VkFormat format, VkImageUsageFlags usages, size_t image_count); void destroy_images(std::vector &images); @@ -71,7 +72,7 @@ class vkapi { VkRenderPass create_render_pass(std::vector& color_attachments_format); VkRenderPass create_render_pass(std::vector& color_attachments_format, VkFormat depth_attachement_format); - void destroy_renderpass(VkRenderPass render_pass); + void destroy_render_pass(VkRenderPass render_pass); VkFramebuffer create_framebuffer(VkRenderPass render_pass, std::vector& images, VkExtent2D size); std::vector create_framebuffers(VkRenderPass render_pass, std::vector& images, VkExtent2D size, uint32_t framebuffer_count); @@ -92,8 +93,8 @@ class vkapi { void destroy_surface(VkSurfaceKHR surface); - Swapchain create_swapchain(VkSurfaceKHR surface, size_t min_image_count, VkImageUsageFlags usages, std::optional old_swapchain); - void destroy_swapchain(Swapchain swapchain); + Swapchain create_swapchain(VkSurfaceKHR surface, size_t min_image_count, VkImageUsageFlags usages, std::optional> old_swapchain); + void destroy_swapchain(Swapchain& swapchain); void update_descriptor_set_buffer(VkDescriptorSet set, VkDescriptorSetLayoutBinding binding, Buffer& buffer); void update_descriptor_set_image(VkDescriptorSet set, VkDescriptorSetLayoutBinding binding, VkImageView view); @@ -111,7 +112,7 @@ class vkapi { VkResult submit(VkCommandBuffer command_buffer, VkSemaphore wait_semaphore, VkSemaphore signal_semaphore, VkFence submission_fence); - VkResult present(Swapchain swapchain, uint32_t image_index, VkSemaphore wait_semaphore); + VkResult present(Swapchain& swapchain, uint32_t image_index, VkSemaphore wait_semaphore); // private: vkcontext context; -- cgit v1.3