vulkan_test2
diff src/vku.h @ 4:c31c4115d44a
test 2, open window, create queue, etc ...
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Fri, 22 Sep 2017 15:26:29 +0300 |
parents | 68e1c437343f |
children | cec4b0e7fce8 |
line diff
1.1 --- a/src/vku.h Fri Sep 22 01:01:10 2017 +0300 1.2 +++ b/src/vku.h Fri Sep 22 15:26:29 2017 +0300 1.3 @@ -1,24 +1,49 @@ 1.4 #ifndef VKU_H_ 1.5 #define VKU_H_ 1.6 1.7 +#ifdef __unix__ 1.8 +#define VK_USE_PLATFORM_XLIB_KHR 1.9 +#endif 1.10 + 1.11 #include <vulkan/vulkan.h> 1.12 1.13 VkInstance vk; 1.14 VkDevice vkdev; 1.15 VkQueue vkq; 1.16 VkCommandPool vkcmdpool; 1.17 +VkCommandBuffer vkcmdbuf; /* primary command buffer */ 1.18 1.19 -struct vk_buffer { 1.20 +struct vku_buffer { 1.21 VkBuffer buf; 1.22 VkDeviceMemory mem_pool; 1.23 int mem_start, mem_size; 1.24 }; 1.25 1.26 +int vku_have_extension(const char *name); 1.27 +int vku_have_device_extension(const char *name); 1.28 + 1.29 int vku_create_dev(void); 1.30 void vku_cleanup(void); 1.31 1.32 +VkCommandBuffer vku_alloc_cmdbuf(VkCommandPool pool, VkCommandBufferLevel level); 1.33 +void vku_free_cmdbuf(VkCommandPool pool, VkCommandBuffer buf); 1.34 1.35 -struct vk_buffer *vku_create_buffer(int sz, unsigned int usage); 1.36 -void vku_destroy_buffer(struct vk_buffer *buf); 1.37 +void vku_begin_cmdbuf(VkCommandBuffer buf, unsigned int flags); 1.38 +void vku_end_cmdbuf(VkCommandBuffer buf); 1.39 +void vku_reset_cmdbuf(VkCommandBuffer buf); 1.40 + 1.41 +void vku_submit_cmdbuf(VkQueue q, VkCommandBuffer buf, VkFence done_fence); 1.42 + 1.43 +struct vku_buffer *vku_create_buffer(int sz, unsigned int usage); 1.44 +void vku_destroy_buffer(struct vku_buffer *buf); 1.45 + 1.46 +void vku_cmd_copybuf(VkCommandBuffer cmdbuf, VkBuffer dest, int doffs, 1.47 + VkBuffer src, int soffs, int size); 1.48 + 1.49 +/* platform-specific */ 1.50 +#ifdef VK_USE_PLATFORM_XLIB_KHR 1.51 +#include <X11/Xlib.h> 1.52 +int vku_xlib_usable_visual(Display *dpy, VisualID vid); 1.53 +#endif 1.54 1.55 #endif /* VKU_H_ */