comparison tests/test_vulkan_wrapper.nim @ 93:cb773e81032f

add: testing for vulkan API wrapper
author Sam <sam@basx.dev>
date Tue, 28 Feb 2023 00:08:52 +0700
parents
children f036546f5ea2
comparison
equal deleted inserted replaced
92:e872cf354110 93:cb773e81032f
1 import semicongine/vulkan
2
3
4 when isMainModule:
5 # print basic driver infos
6 echo "Layers"
7 for layer in getLayers():
8 echo " " & layer
9 echo "Instance extensions"
10 for extension in getInstanceExtensions():
11 echo " " & extension
12
13 # create instance
14 var instance = createInstance(
15 vulkanVersion=VK_MAKE_API_VERSION(0, 1, 3, 0),
16 instanceExtensions=["VK_EXT_debug_utils"],
17 layers=["VK_LAYER_KHRONOS_validation"]
18 )
19 var debugger = instance.createDebugMessenger()
20 echo "Devices"
21 for device in instance.getPhysicalDevices():
22 echo " " & $device
23 echo " Extensions"
24 for extension in device.getExtensions():
25 echo " " & $extension
26 echo " Queue families"
27 for queueFamily in device.getQueueFamilies():
28 echo " " & $queueFamily
29
30 # create devices
31 var devices: seq[Device]
32 for physicalDevice in instance.getPhysicalDevices():
33 devices.add physicalDevice.createDevice([], [], [])
34
35 # cleanup
36 for device in devices.mitems:
37 device.destroy()
38
39 debugger.destroy()
40 instance.destroy()