private void PickPhysicalDevice() { // Currently simply picks the first physical device. We might want a smarter choice here. PhysicalDevice = Instance.EnumeratePhysicalDevices()[0]; PhysicalDeviceFeatures = PhysicalDevice.GetFeatures(); PhysicalDeviceMemoryProperties = PhysicalDevice.GetMemoryProperties(); AvailableDeviceExtensions = PhysicalDevice.EnumerateExtensionProperties(); }
internal HostDevice( PhysicalDevice vulkanPhysicaldevice, SurfaceType surfaceType, Logger logger = null) { if (vulkanPhysicaldevice == null) { throw new ArgumentNullException(nameof(vulkanPhysicaldevice)); } this.physicalDevice = vulkanPhysicaldevice; this.surfaceType = surfaceType; this.logger = logger; this.properties = vulkanPhysicaldevice.GetProperties(); this.deviceMemoryProperties = vulkanPhysicaldevice.GetMemoryProperties(); this.supportedFeatures = vulkanPhysicaldevice.GetFeatures(); this.availableExtensions = vulkanPhysicaldevice.EnumerateExtensionProperties(); this.queueFamilies = vulkanPhysicaldevice.GetQueueFamilyProperties(); logger?.Log(nameof(HostDevice), $"Found device: {Name}"); logger?.LogList(nameof(HostDevice), $"{Name} available extensions:", availableExtensions); }
public void EnumerateExtensionProperties() { ExtensionProperties[] properties = PhysicalDevice.EnumerateExtensionProperties(); Assert.True(properties.Length > 0); }