comparison src/vulkan.nim @ 466:1dd9e2393a9e

add: structure code for crossplatform, add some input handling + bugfixes
author Sam <sam@basx.dev>
date Thu, 22 Dec 2022 00:06:40 +0700
parents 2fcb9268072b
children 0660ba9d1930
comparison
equal deleted inserted replaced
465:2fcb9268072b 466:1dd9e2393a9e
2 2
3 ## Vulkan Bindings 3 ## Vulkan Bindings
4 ## ==== 4 ## ====
5 ## WARNING: This is a generated file. Do not edit 5 ## WARNING: This is a generated file. Do not edit
6 ## Any edits will be overwritten by the generator. 6 ## Any edits will be overwritten by the generator.
7 import x11/xlib 7
8 import x11/x 8 when defined(linux):
9 import x11/x
10 import x11/xlib
11 when defined(windows):
12 import winim
9 13
10 var vkGetProc: proc(procName: cstring): pointer {.cdecl.} 14 var vkGetProc: proc(procName: cstring): pointer {.cdecl.}
11 15
12 import dynlib 16 import dynlib
13 17
14 when defined(windows): 18 when defined(windows):
15 {. emit: """#define VK_USE_PLATFORM_WIN32_KHR""" .} 19 {. emit: """#define VK_USE_PLATFORM_WIN32_KHR""" .}
20 # {.passl: gorge("pkg-config --libs vulkan").}
16 const vkDLL = "vulkan-1.dll" 21 const vkDLL = "vulkan-1.dll"
17 elif defined(linux): 22 elif defined(linux):
18 {.passl: gorge("pkg-config --libs vulkan").} 23 {.passl: gorge("pkg-config --libs vulkan").}
19 {. emit: """#define VK_USE_PLATFORM_X11_KHR""" .} 24 {. emit: """#define VK_USE_PLATFORM_X11_KHR""" .}
20 const vkDLL = "libvulkan.so.1" 25 const vkDLL = "libvulkan.so.1"
509 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47 514 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47
510 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48 515 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48
511 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000 # added by sam 516 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000 # added by sam
512 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001 # added by sam 517 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001 # added by sam
513 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000 # added by sam 518 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000 # added by sam
519 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000 # added by sam
514 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004 # added by sam 520 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004 # added by sam
515 VkSubpassContents* {.size: int32.sizeof.} = enum 521 VkSubpassContents* {.size: int32.sizeof.} = enum
516 VK_SUBPASS_CONTENTS_INLINE = 0 522 VK_SUBPASS_CONTENTS_INLINE = 0
517 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1 523 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1
518 VkResult* {.size: int32.sizeof.} = enum 524 VkResult* {.size: int32.sizeof.} = enum
1189 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 1195 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8
1190 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 1196 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16
1191 1197
1192 # Types 1198 # Types
1193 1199
1200 # stub types if we are on the wrong platform, so we don't need to "when" all platform functions
1201 when not defined(linux):
1202 type
1203 Display* = ptr object
1204 VisualID* = ptr object
1205 Window* = ptr object
1206 when not defined(windows):
1207 type
1208 HINSTANCE* = ptr object
1209 HWND* = ptr object
1210 HMONITOR* = ptr object
1211 HANDLE* = ptr object
1212 SECURITY_ATTRIBUTES* = ptr object
1213 DWORD* = ptr object
1214 LPCWSTR* = ptr object
1215
1194 type 1216 type
1195 # Display* = ptr object
1196 VisualID* = ptr object
1197 # Window* = ptr object
1198 RROutput* = ptr object 1217 RROutput* = ptr object
1199 wl_display* = ptr object 1218 wl_display* = ptr object
1200 wl_surface* = ptr object 1219 wl_surface* = ptr object
1201 HINSTANCE* = ptr object
1202 HWND* = ptr object
1203 HMONITOR* = ptr object
1204 HANDLE* = ptr object
1205 SECURITY_ATTRIBUTES* = ptr object
1206 DWORD* = ptr object
1207 LPCWSTR* = ptr object
1208 xcb_connection_t* = ptr object 1220 xcb_connection_t* = ptr object
1209 xcb_visualid_t* = ptr object 1221 xcb_visualid_t* = ptr object
1210 xcb_window_t* = ptr object 1222 xcb_window_t* = ptr object
1211 IDirectFB* = ptr object 1223 IDirectFB* = ptr object
1212 IDirectFBSurface* = ptr object 1224 IDirectFBSurface* = ptr object