blob: e20193b69041947f37d57d36a4a528e8ae8daa18 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
using System;
using Vulkan;
using static Vulkan.Vk;
using static Vulkan.Utils;
using Version = Vulkan.Version;
namespace tests
{
class Program
{
static void Main(string[] args)
{
VkInstance inst;
using (VkApplicationInfo ai = new VkApplicationInfo ()) {
using (VkInstanceCreateInfo ci = new VkInstanceCreateInfo {pApplicationInfo = ai}){
CheckResult (vkCreateInstance (ci, IntPtr.Zero, out inst));
}
}
Vk.LoadInstanceFunctionPointers (inst);
CheckResult (vkEnumeratePhysicalDevices (inst, out uint phyCount, IntPtr.Zero));
VkPhysicalDevice[] phys = new VkPhysicalDevice[phyCount];
CheckResult (vkEnumeratePhysicalDevices (inst, out phyCount, phys.Pin()));
for (int i = 0; i < phys.Length; i++)
{
vkGetPhysicalDeviceProperties (phys[i], out VkPhysicalDeviceProperties props);
Console.WriteLine ($"{props.deviceName}");
Console.WriteLine ($"\tdeviceType: {props.deviceType,20}");
Console.WriteLine ($"\tapiVersion: {(Version)props.apiVersion,20}");
Console.WriteLine ($"\tdriverVersion:{props.driverVersion,20}");
Console.WriteLine ($"\tvendorID: {props.vendorID,20}");
}
vkDestroyInstance (inst, IntPtr.Zero);
}
}
}
|