X-Git-Url: http://git.mutantstargoat.com?p=demo;a=blobdiff_plain;f=src%2Fvulkan%2Fvkutil.h;h=eda0e7170c30b4c74559565c3cd6ac4dd0ae07e8;hp=853349ff27e9511bb659592cc6bd02cf5a03222c;hb=32feb79dc3b9ddeeab84a0329d53b8aaff86bb80;hpb=72995482b98ff2a014ddd737131a0935ead89977 diff --git a/src/vulkan/vkutil.h b/src/vulkan/vkutil.h index 853349f..eda0e71 100644 --- a/src/vulkan/vkutil.h +++ b/src/vulkan/vkutil.h @@ -4,15 +4,10 @@ #include #include -extern VkPipeline *vkgraphics_pipeline; +extern VkPipeline *vkgparent_pipeline; extern VkDescriptorSet *vkdescset; extern VkFramebuffer *vkfbufs; extern VkRenderPass vkrpass; -extern VkSwapchainKHR vkswapchain; -extern VkImage *vkswapchain_images; -extern VkImageView *vkswapchain_views; -extern int vknum_swapchain_images; -extern VkSurfaceKHR vksurface; extern VkInstance vkinst; extern VkPhysicalDevice vkpdev; extern VkDevice vkdev; @@ -20,7 +15,16 @@ extern VkQueue vkq; extern VkCommandPool vkcmdpool; extern VkCommandBuffer vkcmdbuf; /* primary command buffer */ extern int vkqfamily; -extern int vknext_swapchain_image; + +/* presentation */ +extern VkSurfaceKHR vksurface; +extern VkSwapchainKHR vkswapchain; +extern int vknum_swapchain_images; +extern VkImage *vkswapchain_images; +extern VkImageView *vkswapchain_views; +extern int vk_curr_swapchain_image; +extern VkSemaphore vk_img_avail_sema; +extern VkSemaphore vk_rend_done_sema; struct vku_buffer { VkBuffer buf; @@ -36,6 +40,9 @@ bool vku_have_device_extension(const char *name); bool vku_create_device(); void vku_cleanup(); +/* semaphores */ +bool vku_create_semaphores(); + /* command buffers */ VkCommandBuffer vku_alloc_cmdbuf(VkCommandPool pool, VkCommandBufferLevel level); void vku_free_cmdbuf(VkCommandPool pool, VkCommandBuffer buf);