foo
[vktest3] / src / vk.h
index f4187d3..301474c 100644 (file)
--- a/src/vk.h
+++ b/src/vk.h
@@ -57,12 +57,20 @@ void vk_cleanup(void);
 
 int vk_reshape(int xsz, int ysz);
 
+/* returns the image index, or -1 on failure. Pass optional semaphore to signal */
+int vk_next_image(VkSemaphore sem);
+
+int vk_submit(VkQueue q, VkCommandBuffer cmdbuf, VkSemaphore semwait, VkSemaphore semsig);
+int vk_present(VkQueue q, int imgid, VkSemaphore semwait);
+
 int vk_find_qfamily(unsigned int flags);
 VkQueue vk_getq_fam(int fam, int n);
 VkQueue vk_getq(unsigned int flags, int n);
 
 VkCommandBuffer vk_create_cmdbuf_fam(int qfam, int level);
 VkCommandBuffer vk_create_cmdbuf(unsigned int qflags, int level);
+/* return one of the swap-chain command buffers */
+VkCommandBuffer vk_get_cmdbuf(int imgid);
 
 int vk_create_rpass(void);
 void vk_free_rpass(int rp);
@@ -103,4 +111,11 @@ void vk_pipeln_blend(int pp, int enable);
 void vk_pipeln_blendfunc(int pp, int src, int dst);
 VkPipeline vk_pipeln(int pp);
 
+VkShaderModule vk_load_shader(const char *fname);
+void vk_free_shader(VkShaderModule sdr);
+
+VkSemaphore vk_create_sem(void);
+void vk_free_sem(VkSemaphore sem);
+
+
 #endif /* VK_H_ */