diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2021-12-08 22:22:54 +0100 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2021-12-08 22:22:54 +0100 |
| commit | b8051560dbadef834062037283f1d8de32522296 (patch) | |
| tree | 8f4fd29be7dfe7c20a3d016599e07a35325a63d4 /vulkan/Utils.cs | |
| parent | fe6cb8a976b328b87ec66357c97614f67865e1d7 (diff) | |
ext methodsv0.4.0-betaauto_set_struct_type_stype
Diffstat (limited to 'vulkan/Utils.cs')
| -rw-r--r-- | vulkan/Utils.cs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/vulkan/Utils.cs b/vulkan/Utils.cs index bf629ed..9744b5f 100644 --- a/vulkan/Utils.cs +++ b/vulkan/Utils.cs @@ -16,6 +16,16 @@ namespace Vulkan { if (result != VkResult.Success) throw new InvalidOperationException ($"[{sourceFilePath}:{sourceLineNumber}->{caller}]{msg}: {result}"); } + public static VkExtensionProperties[] GetAvailableInstanceExtensions (string layerName = null) { + using (Utf8StringPointer pLayerName = layerName) { + CheckResult (vkEnumerateInstanceExtensionProperties (pLayerName, out uint pCount, IntPtr.Zero)); + VkExtensionProperties[] tmp = new VkExtensionProperties[pCount]; + CheckResult (vkEnumerateInstanceExtensionProperties (pLayerName, out pCount, tmp.Pin())); + tmp.Unpin(); + return tmp; + } + } + public static bool TryGetPhysicalDevice (VkInstance inst, VkPhysicalDeviceType deviceType, out VkPhysicalDevice phy) { CheckResult (vkEnumeratePhysicalDevices (inst, out uint phyCount, IntPtr.Zero)); |