public static ReadOnlySpan <VkDisplayKHR> vkGetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice, uint planeIndex) { uint displayCount = 0; vkGetDisplayPlaneSupportedDisplaysKHR(physicalDevice, planeIndex, &displayCount, null).CheckResult(); ReadOnlySpan <VkDisplayKHR> displays = new VkDisplayKHR[displayCount]; fixed(VkDisplayKHR *displaysPtr = displays) { vkGetDisplayPlaneSupportedDisplaysKHR(physicalDevice, planeIndex, &displayCount, displaysPtr).CheckResult(); } return(displays); }
public static ReadOnlySpan <VkDisplayModePropertiesKHR> vkGetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice, VkDisplayKHR display) { uint propertyCount = 0; vkGetDisplayModePropertiesKHR(physicalDevice, display, &propertyCount, null).CheckResult(); ReadOnlySpan <VkDisplayModePropertiesKHR> properties = new VkDisplayModePropertiesKHR[propertyCount]; fixed(VkDisplayModePropertiesKHR *propertiesPtr = properties) { vkGetDisplayModePropertiesKHR(physicalDevice, display, &propertyCount, propertiesPtr).CheckResult(); } return(properties); }
public IVkDisplayKHR GetDisplay(VkDisplayKHR.HandleType handle) => displays.GetOrAdd(handle, h => new VkDisplayKHR(Instance, h));