comparison svk/api.nim @ 1488:3ce7c132fdac

did: improvments
author sam <sam@basx.dev>
date Sun, 18 May 2025 16:36:52 +0700
parents f786797a0cbe
children e6bd1f553c1b
comparison
equal deleted inserted replaced
1487:f786797a0cbe 1488:3ce7c132fdac
1 import std/sequtils
2 import std/enumutils
1 import std/tables 3 import std/tables
2 import std/strutils 4 import std/strutils
3 import std/logging 5 import std/logging
4 import std/os 6 import std/os
5 7
6 include ./vkapi 8 include ./vkapi
7 9
8 const VULKAN_VERSION = VK_MAKE_API_VERSION(0, 1, 3, 0) 10 const VULKAN_VERSION = VK_MAKE_API_VERSION(0, 1, 3, 0)
11
12 iterator items*[T: HoleyEnum](E: typedesc[T]): T =
13 for a in enumFullRange(E):
14 yield a
9 15
10 template checkVkResult*(call: untyped) = 16 template checkVkResult*(call: untyped) =
11 when defined(release): 17 when defined(release):
12 discard call 18 discard call
13 else: 19 else:
103 if withSwapchain: 109 if withSwapchain:
104 load_VK_KHR_swapchain(result.vkInstance) 110 load_VK_KHR_swapchain(result.vkInstance)
105 111
106 when not defined(release): 112 when not defined(release):
107 var debugMessengerCreateInfo = VkDebugUtilsMessengerCreateInfoEXT( 113 var debugMessengerCreateInfo = VkDebugUtilsMessengerCreateInfoEXT(
108 messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT.items.toSeq.toBits, 114 messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT.items.toSeq,
109 messageType: VkDebugUtilsMessageTypeFlagBitsEXT.items.toSeq.toBits, 115 messageType: VkDebugUtilsMessageTypeFlagBitsEXT.items.toSeq,
110 pfnUserCallback: debugCallback, 116 pfnUserCallback: debugCallback,
111 ) 117 )
112 checkVkResult vkCreateDebugUtilsMessengerEXT( 118 checkVkResult vkCreateDebugUtilsMessengerEXT(
113 result.vkInstance, addr debugMessengerCreateInfo, nil, addr result.debugMessenger 119 result.vkInstance, addr debugMessengerCreateInfo, nil, addr result.debugMessenger
114 ) 120 )