#define VK_H_
#include <X11/Xlib.h>
+#include <vulkan/vulkan.h>
enum {
VKINIT_DEPTH = 1,
VKINIT_RAY = 0x100
};
+/* queue capability flags for vk_find_qfamily and vk_init_queue */
+enum {
+ VKQ_GFX = 1,
+ VKQ_COMPUTE = 2,
+ VKQ_PRESENT = 4,
+ VKQ_XFER = 8
+};
+
void vk_init_xwin(Display *dpy, Window win);
+void vk_init_queue(unsigned int qflags, int count);
int vk_init(unsigned int flags, unsigned int *usedflags);
void vk_cleanup(void);
int vk_reshape(int xsz, int ysz);
+int vk_find_qfamily(unsigned int flags);
+VkQueue vk_getq_fam(int fam, int n);
+VkQueue vk_getq(unsigned int flags);
+
int vk_create_rpass(void);
void vk_free_rpass(int rp);
void vk_rpass_colorbuf(int rp, int fmt, int n);
void vk_rpass_msaa(int rp, int nsamp);
+void vk_rpass_clear(int rp, int clear);
VkRenderPass vk_rpass(int rp);
+int vk_create_fb(void);
+void vk_free_fb(int fb);
+void vk_fb_size(int fb, int x, int y);
+void vk_fb_rpass(int fb, int rpass);
+void vk_fb_images(int fb, int n, ...);
+VkFramebuffer vk_fb(int fb);
+
+
#endif /* VK_H_ */