Example #1
0
        /// <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);
        }
Example #2
0
        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);
        }
Example #3
0
 public VkDisplayKHRAggregate(IVkDisplayKHR display, VkDisplayPropertiesKHR properties, IReadOnlyList<VkDisplayModeKHRAggregate> defaultModes)
 {
     Display = display;
     Properties = properties;
     DefaultModes = defaultModes;
 }