#define VKUTIL_H_
#include <vulkan/vulkan.h>
+#include <vector>
+extern VkPipeline *vkgraphics_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;
void vku_begin_cmdbuf(VkCommandBuffer buf, unsigned int flags);
void vku_end_cmdbuf(VkCommandBuffer buf);
void vku_reset_cmdbuf(VkCommandBuffer buf);
-
void vku_submit_cmdbuf(VkQueue q, VkCommandBuffer buf, VkFence done_fence);
/* swapchain */
VkSwapchainKHR vku_create_swapchain(VkSurfaceKHR surf, int xsz, int ysz, int n,
VkPresentModeKHR pmode, VkSwapchainKHR prev);
VkImage *vku_get_swapchain_images(VkSwapchainKHR sc, int *count);
+VkImageView *vku_create_image_views(VkImage *images, int count);
int vku_get_next_image(VkSwapchainKHR sc);
void vku_present(VkSwapchainKHR sc, int img_idx);
+/* rederpass */
+bool vku_create_renderpass();
+
+/* framebuffer */
+bool vku_create_framebuffers(VkImageView *image_views, int count, int w, int h);
+
/* buffers */
vku_buffer *vku_create_buffer(int sz, unsigned int usage);
void vku_destroy_buffer(vku_buffer *buf);
-
void vku_cmd_copybuf(VkCommandBuffer cmdbuf, VkBuffer dest, int doffs,
VkBuffer src, int soffs, int size);
/* other */
const char *vku_get_vulkan_error_str(VkResult error);
-#endif // VKUTIL_H_
\ No newline at end of file
+/* pipeline */
+bool vku_create_graphics_pipeline(VkPipelineLayout *layout);
+
+/* descriptor set */
+//bool vku_create_descriptor_set()
+
+#endif // VKUTIL_H_