private IReadOnlyList <VkDisplayModePropertiesKHR> GetDisplayModePropertiesKHR(IVkDisplayKHR display) { if (Direct.GetDisplayModePropertiesKHR == null) { return(new VkDisplayModePropertiesKHR[0]); } int count; Direct.GetDisplayModePropertiesKHR(Handle, display.Handle, &count, (VkDisplayModePropertiesKHR.Raw *) 0); var resultArray = new VkDisplayModePropertiesKHR.Raw[count]; fixed(VkDisplayModePropertiesKHR.Raw *pResultArray = resultArray) { Direct.GetDisplayModePropertiesKHR(Handle, display.Handle, &count, pResultArray); return(resultArray.Select(x => new VkDisplayModePropertiesKHR(&x, Instance)).ToArray()); } }
private IReadOnlyList<VkDisplayModePropertiesKHR> GetDisplayModePropertiesKHR(IVkDisplayKHR display) { if (Direct.GetDisplayModePropertiesKHR == null) return new VkDisplayModePropertiesKHR[0]; int count; Direct.GetDisplayModePropertiesKHR(Handle, display.Handle, &count, (VkDisplayModePropertiesKHR.Raw*)0); var resultArray = new VkDisplayModePropertiesKHR.Raw[count]; fixed (VkDisplayModePropertiesKHR.Raw* pResultArray = resultArray) { Direct.GetDisplayModePropertiesKHR(Handle, display.Handle, &count, pResultArray); return resultArray.Select(x => new VkDisplayModePropertiesKHR(&x, Instance)).ToArray(); } }