aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2021-02-22 23:08:42 +0100
committerladevieq <ladevie.quentin@gmail.com>2021-02-22 23:08:42 +0100
commit769c8ef8aa429cf13bac920607690d104dd4d3ed (patch)
treebdb02dfae5f673cbb8b874db3a9d016d5a7177d8 /include
parent45783d96ec6f84893c85789ff5e5e2243e7f3db9 (diff)
Fix framebuffer validation errors
Diffstat (limited to 'include')
-rw-r--r--include/vk-api.hpp13
-rw-r--r--include/vk-renderer.hpp1
2 files changed, 8 insertions, 6 deletions
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<Image> create_images(VkExtent3D size, VkFormat format, VkImageUsageFlags usages, size_t image_count);
void destroy_images(std::vector<Image> &images);
@@ -71,7 +72,7 @@ class vkapi {
VkRenderPass create_render_pass(std::vector<VkFormat>& color_attachments_format);
VkRenderPass create_render_pass(std::vector<VkFormat>& 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<Image>& images, VkExtent2D size);
std::vector<VkFramebuffer> create_framebuffers(VkRenderPass render_pass, std::vector<Image>& 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<Swapchain> old_swapchain);
- void destroy_swapchain(Swapchain swapchain);
+ Swapchain create_swapchain(VkSurfaceKHR surface, size_t min_image_count, VkImageUsageFlags usages, std::optional<std::reference_wrapper<Swapchain>> 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;
diff --git a/include/vk-renderer.hpp b/include/vk-renderer.hpp
index a0edf39..d34bb0f 100644
--- a/include/vk-renderer.hpp
+++ b/include/vk-renderer.hpp
@@ -37,6 +37,7 @@ class vkrenderer {
uint32_t swapchain_image_index = 0;
std::vector<Image> accumulation_images;
+ Image ui_texture;
std::vector<VkCommandBuffer> command_buffers;