/// <summary> /// Initializes a new instance of <see cref="GraphicsOutput" />. /// </summary> /// <param name="adapter">The adapter.</param> /// <param name="outputIndex">Index of the output.</param> /// <exception cref="System.ArgumentNullException">output</exception> /// <exception cref="ArgumentOutOfRangeException">output</exception> internal GraphicsOutput(GraphicsAdapter adapter, VkDisplayPropertiesKHR displayProperties, int outputIndex) { if (adapter == null) { throw new ArgumentNullException("adapter"); } this.outputIndex = outputIndex; this.displayProperties = displayProperties; desktopBounds = new Rectangle(0, 0, (int)displayProperties.physicalResolution.Width, (int)displayProperties.physicalResolution.Height); }
public static ReadOnlySpan <VkDisplayPropertiesKHR> vkGetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice) { uint propertyCount = 0; vkGetPhysicalDeviceDisplayPropertiesKHR(physicalDevice, &propertyCount, null).CheckResult(); ReadOnlySpan <VkDisplayPropertiesKHR> properties = new VkDisplayPropertiesKHR[propertyCount]; fixed(VkDisplayPropertiesKHR *propertiesPtr = properties) { vkGetPhysicalDeviceDisplayPropertiesKHR(physicalDevice, &propertyCount, propertiesPtr).CheckResult(); } return(properties); }
public VkDisplayKHRAggregate(IVkDisplayKHR display, VkDisplayPropertiesKHR properties, IReadOnlyList<VkDisplayModeKHRAggregate> defaultModes) { Display = display; Properties = properties; DefaultModes = defaultModes; }