X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;ds=sidebyside;f=src%2Fvulkan%2Fvkutil.h;h=396209f1a291f4f77ad399a803fbc6877477a1ac;hb=8fb0cca684e078cd2537070c53ad970ebbc2e9a7;hp=853349ff27e9511bb659592cc6bd02cf5a03222c;hpb=72995482b98ff2a014ddd737131a0935ead89977;p=demo diff --git a/src/vulkan/vkutil.h b/src/vulkan/vkutil.h index 853349f..396209f 100644 --- a/src/vulkan/vkutil.h +++ b/src/vulkan/vkutil.h @@ -4,23 +4,28 @@ #include #include -extern VkPipeline *vkgraphics_pipeline; +extern VkPhysicalDevice vk_physical; +extern VkDevice vk_device; +extern VkCommandPool vk_pool; +extern VkQueue vk_queue; +extern VkSwapchainKHR vk_swapchain; +extern VkSurfaceKHR vk_surface; + +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; -extern VkQueue vkq; -extern VkCommandPool vkcmdpool; extern VkCommandBuffer vkcmdbuf; /* primary command buffer */ extern int vkqfamily; -extern int vknext_swapchain_image; + +/* presentation */ +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 +41,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);