public Result EnumerateInstanceExtensionProperties(string layerName, out MgExtensionProperties[] pProperties) { var pLayerName = IntPtr.Zero; try { if (!string.IsNullOrWhiteSpace(layerName)) { pLayerName = VkInteropsUtility.NativeUtf8FromString(layerName); } UInt32 pPropertyCount = 0; var first = Interops.vkEnumerateInstanceExtensionProperties(pLayerName, ref pPropertyCount, null); if (first != Result.SUCCESS) { pProperties = null; return(first); } var extensionProperties = new VkExtensionProperties[pPropertyCount]; var last = Interops.vkEnumerateInstanceExtensionProperties(pLayerName, ref pPropertyCount, extensionProperties); pProperties = new MgExtensionProperties[pPropertyCount]; for (uint i = 0; i < pPropertyCount; ++i) { pProperties[i] = new MgExtensionProperties { ExtensionName = VkInteropsUtility.ByteArrayToTrimmedString(extensionProperties[i].extensionName), SpecVersion = extensionProperties[i].specVersion, }; } return(last); } finally { if (pLayerName != IntPtr.Zero) { } } }
public Result EnumerateDeviceExtensionProperties(string layerName, out MgExtensionProperties[] pProperties) { pProperties = new MgExtensionProperties[] { }; return(Result.SUCCESS); }