X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fvk.h;fp=src%2Fvk.h;h=f93634fb3a51a861e9257d3af44181b0869bfc81;hb=2e799cccf8c1d15e49e8aaab06f9d91e61139d2e;hp=d48634fb43400299b3bca4455223e66c3fdc1589;hpb=3111792cd58d915c13cbfcd1b0c6e94c4bc4ad8d;p=vktest3 diff --git a/src/vk.h b/src/vk.h index d48634f..f93634f 100644 --- a/src/vk.h +++ b/src/vk.h @@ -18,20 +18,34 @@ enum { VKQ_XFER = 8 }; -/* shader types */ +/* shader types + * arranged so that: (1 << VKSDR_FOO) == VK_SHADER_STAGE_FOO_BIT + */ enum { - VKSDR_VERTEX, - VKSDR_PIXEL, - VKSDR_TESS_CTL, - VKSDR_TESS_EVAL, - VKSDR_GEOM + VKSDR_VERTEX = 0, + VKSDR_TESS_CTL = 1, + VKSDR_TESS_EVAL = 2, + VKSDR_GEOM = 3, + VKSDR_PIXEL = 4, + VKSDR_COMPUTE = 5, + + VKSDR_TASK = 6, + VKSDR_MESH = 7, + + VKSDR_RAYGEN = 8, + VKSDR_ANYHIT = 9, + VKSDR_CLOSESTHIT = 10, + VKSDR_MISS = 11, + VKSDR_ISECT = 12, + + VKSDR_MAX }; /* primitives */ enum { - VKPRIM_POINTS, - VKPRIM_LINES, - VKPRIM_TRIANGLES + VKPRIM_POINTS = VK_PRIMITIVE_TOPOLOGY_POINT_LIST, + VKPRIM_LINES = VK_PRIMITIVE_TOPOLOGY_LINE_LIST, + VKPRIM_TRIANGLES = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST }; void vk_init_xwin(Display *dpy, Window win); @@ -73,9 +87,8 @@ 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, float w); void vk_pipeln_multisample(int pp, int nsamples); -void vk_pipeln_colormask(int pp, int r, int g, int b); +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); @@ -84,5 +97,6 @@ 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); void vk_pipeln_blend(int pp, int enable); void vk_pipeln_blendfunc(int pp, int src, int dst); +VkPipeline vk_pipeln(int pp); #endif /* VK_H_ */