annotate 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 |
rev |
line source |
nuclear@3
|
1 #ifndef VKU_H_
|
nuclear@3
|
2 #define VKU_H_
|
nuclear@3
|
3
|
nuclear@4
|
4 #ifdef __unix__
|
nuclear@4
|
5 #define VK_USE_PLATFORM_XLIB_KHR
|
nuclear@4
|
6 #endif
|
nuclear@4
|
7
|
nuclear@3
|
8 #include <vulkan/vulkan.h>
|
nuclear@3
|
9
|
nuclear@3
|
10 VkInstance vk;
|
nuclear@3
|
11 VkDevice vkdev;
|
nuclear@3
|
12 VkQueue vkq;
|
nuclear@3
|
13 VkCommandPool vkcmdpool;
|
nuclear@4
|
14 VkCommandBuffer vkcmdbuf; /* primary command buffer */
|
nuclear@3
|
15
|
nuclear@4
|
16 struct vku_buffer {
|
nuclear@3
|
17 VkBuffer buf;
|
nuclear@3
|
18 VkDeviceMemory mem_pool;
|
nuclear@3
|
19 int mem_start, mem_size;
|
nuclear@3
|
20 };
|
nuclear@3
|
21
|
nuclear@4
|
22 int vku_have_extension(const char *name);
|
nuclear@4
|
23 int vku_have_device_extension(const char *name);
|
nuclear@4
|
24
|
nuclear@3
|
25 int vku_create_dev(void);
|
nuclear@3
|
26 void vku_cleanup(void);
|
nuclear@3
|
27
|
nuclear@4
|
28 VkCommandBuffer vku_alloc_cmdbuf(VkCommandPool pool, VkCommandBufferLevel level);
|
nuclear@4
|
29 void vku_free_cmdbuf(VkCommandPool pool, VkCommandBuffer buf);
|
nuclear@3
|
30
|
nuclear@4
|
31 void vku_begin_cmdbuf(VkCommandBuffer buf, unsigned int flags);
|
nuclear@4
|
32 void vku_end_cmdbuf(VkCommandBuffer buf);
|
nuclear@4
|
33 void vku_reset_cmdbuf(VkCommandBuffer buf);
|
nuclear@4
|
34
|
nuclear@4
|
35 void vku_submit_cmdbuf(VkQueue q, VkCommandBuffer buf, VkFence done_fence);
|
nuclear@4
|
36
|
nuclear@4
|
37 struct vku_buffer *vku_create_buffer(int sz, unsigned int usage);
|
nuclear@4
|
38 void vku_destroy_buffer(struct vku_buffer *buf);
|
nuclear@4
|
39
|
nuclear@4
|
40 void vku_cmd_copybuf(VkCommandBuffer cmdbuf, VkBuffer dest, int doffs,
|
nuclear@4
|
41 VkBuffer src, int soffs, int size);
|
nuclear@4
|
42
|
nuclear@4
|
43 /* platform-specific */
|
nuclear@4
|
44 #ifdef VK_USE_PLATFORM_XLIB_KHR
|
nuclear@4
|
45 #include <X11/Xlib.h>
|
nuclear@4
|
46 int vku_xlib_usable_visual(Display *dpy, VisualID vid);
|
nuclear@4
|
47 #endif
|
nuclear@3
|
48
|
nuclear@3
|
49 #endif /* VKU_H_ */
|