コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public IVkDisplayKHR GetDisplay(VkDisplayKHR.HandleType handle) => 
     displays.GetOrAdd(handle, h => new VkDisplayKHR(Instance, h));