diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2021-12-07 14:31:55 +0100 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2021-12-07 14:31:55 +0100 |
| commit | 3fb884d726910719a351d3e617c757459fb7c772 (patch) | |
| tree | 1625cf47f6eab63f18fb39093e3a1f0df373c272 /samples/select_physical_dev/Program.cs | |
| parent | 2af048902ea6952eaac368b8880788214f2e95af (diff) | |
samples
Diffstat (limited to 'samples/select_physical_dev/Program.cs')
| -rw-r--r-- | samples/select_physical_dev/Program.cs | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/samples/select_physical_dev/Program.cs b/samples/select_physical_dev/Program.cs new file mode 100644 index 0000000..3258489 --- /dev/null +++ b/samples/select_physical_dev/Program.cs @@ -0,0 +1,46 @@ +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Text; +using Vulkan; +using static Vulkan.Vk; +using static samples.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); + } + } +} |