foo
[vktest3] / src / vk.h
index f93634f..cc58948 100644 (file)
--- a/src/vk.h
+++ b/src/vk.h
@@ -40,6 +40,7 @@ enum {
 
        VKSDR_MAX
 };
+#define VKSDR_STAGE(x) (1 << (x))
 
 /* primitives */
 enum {
@@ -56,6 +57,9 @@ 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_find_qfamily(unsigned int flags);
 VkQueue vk_getq_fam(int fam, int n);
 VkQueue vk_getq(unsigned int flags, int n);
@@ -79,19 +83,22 @@ VkFramebuffer vk_fb(int fb);
 
 int vk_create_pipeln(void);
 void vk_free_pipeln(int pp);
-void vk_viewport(int pp, int x, int y, int width, int height);
-void vk_scissor(int pp, int x, int y, int width, int height);
+void vk_pipeln_rpass(int pp, VkRenderPass rp);
+void vk_pipeln_viewport(int pp, int x, int y, int width, int height);
+void vk_pipeln_scissor(int pp, int x, int y, int width, int height);
 void vk_pipeln_shader(int pp, int type, VkShaderModule sdr);
 /* TODO: vertex input */
 void vk_pipeln_prim(int pp, int prim);
 void vk_pipeln_polymode(int pp, int mode);
 void vk_pipeln_cull(int pp, int cull);
 void vk_pipeln_frontface(int pp, int ff);
+void vk_pipeln_linewidth(int pp, int w);
 void vk_pipeln_multisample(int pp, int nsamples);
 void vk_pipeln_colormask(int pp, int r, int g, int b, int a);
 void vk_pipeln_depthmask(int pp, int z);
 void vk_pipeln_stencilmask(int pp, int s);
 void vk_pipeln_zbuffer(int pp, int enable);
+void vk_pipeln_zbuffer_op(int pp, int op);
 void vk_pipeln_stencil(int pp, int enable);
 void vk_pipeln_stencil_op(int pp, int sfail, int zfail, int zpass);
 void vk_pipeln_stencil_func(int pp, int op, unsigned int ref, unsigned int mask);
@@ -99,4 +106,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_ */