- struct vk_buf *vbo,
- struct vk_renderer *renderer,
- float *vk_fb_color,
- uint32_t vk_fb_color_count,
- struct vk_semaphores *semaphores,
- struct vk_image_att *attachments,
- uint32_t n_attachments,
- float x, float y, float w, float h);
+ struct vk_semaphores *semaphores,
+ uint32_t num_buffers,
+ VkCommandBuffer *cmd_buf);
+
+void
+vk_clear_color(struct vk_ctx *ctx,
+ VkCommandBuffer cmd_buf,
+ struct vk_buf *vbo,
+ struct vk_renderer *renderer,
+ float *vk_fb_color,
+ uint32_t vk_fb_color_count,
+ struct vk_semaphores *semaphores,
+ bool has_wait, bool has_signal,
+ struct vk_attachment *attachments,
+ uint32_t n_attachments,
+ float x, float y, float w, float h);
+
+/* swapchain */
+
+bool
+vk_create_swapchain(struct vk_ctx *ctx,
+ int width, int height,
+ bool vsync,
+ VkSurfaceKHR surf,
+ struct vk_swapchain *old_swapchain,
+ struct vk_swapchain *swapchain);
+void
+vk_destroy_swapchain(struct vk_ctx *ctx,
+ struct vk_swapchain *swapchain);
+
+bool
+vk_present_queue(struct vk_swapchain *swapchain,
+ VkQueue queue,
+ uint32_t image_idx,
+ VkSemaphore wait_sema);