From 14a79645579d6f4a9e541915017976619f24ecfb Mon Sep 17 00:00:00 2001 From: ladevieq Date: Thu, 18 Feb 2021 22:40:03 +0100 Subject: Graphics pipeline and renderpass added to the api --- include/vk-api.hpp | 11 +++++++---- include/vk-renderer.hpp | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/vk-api.hpp b/include/vk-api.hpp index 6534e3f..999b59e 100644 --- a/include/vk-api.hpp +++ b/include/vk-api.hpp @@ -69,9 +69,12 @@ class vkapi { std::vector create_command_buffers(size_t command_buffers_count); void destroy_command_buffers(std::vector &command_buffers); + VkRenderPass create_render_pass(std::vector& attachments_format); + void destroy_renderpass(VkRenderPass render_pass); - Pipeline create_compute_pipeline(std::string& shader_name, std::vector bindings); - Pipeline create_graphics_pipeline(std::string& shader_name, VkShaderStageFlagBits shader_stages, std::vector bindings); + + Pipeline create_compute_pipeline(const char* shader_name, std::vector bindings); + Pipeline create_graphics_pipeline(const char* shader_name, VkShaderStageFlagBits shader_stages, std::vector bindings, VkRenderPass render_pass, uint32_t subpass); void destroy_pipeline(Pipeline &pipeline); @@ -94,7 +97,7 @@ class vkapi { void image_barrier(VkCommandBuffer command_buffer, VkImageLayout src_layout, VkImageLayout dst_layout, VkPipelineStageFlagBits src_stage, VkPipelineStageFlagBits dst_stage, VkAccessFlags src_access, VkAccessFlags dst_access, Image image); - void run_compute_pipeline(VkCommandBuffer command_buffer, ComputePipeline pipeline, VkDescriptorSet set, size_t group_count_x, size_t group_count_y, size_t group_count_z); + void run_compute_pipeline(VkCommandBuffer command_buffer, Pipeline pipeline, VkDescriptorSet set, size_t group_count_x, size_t group_count_y, size_t group_count_z); void blit_full(VkCommandBuffer command_buffer, Image src_image, Image dst_image); @@ -109,7 +112,7 @@ class vkapi { private: - std::string shader_stage_extension(VkShaderStageFlags shader_stage); + const char* shader_stage_extension(VkShaderStageFlags shader_stage); VkCommandPool command_pool; VkDescriptorPool descriptor_pool; diff --git a/include/vk-renderer.hpp b/include/vk-renderer.hpp index 629f96a..acbf0c9 100644 --- a/include/vk-renderer.hpp +++ b/include/vk-renderer.hpp @@ -37,7 +37,7 @@ class vkrenderer { std::vector compute_shader_sets; - ComputePipeline compute_pipeline; + Pipeline compute_pipeline; std::vector submission_fences; std::vector execution_semaphores; -- cgit v1.3