Handle when vulkan is unsupported

This commit is contained in:
Ilya Zlobintsev 2020-11-09 17:44:03 +02:00
parent 3ceebe0b3e
commit 55bc2ee468

View File

@ -262,27 +262,30 @@ impl GpuController {
} }
fn get_vulkan_info(pci_id: &str) -> VulkanInfo { fn get_vulkan_info(pci_id: &str) -> VulkanInfo {
let instance = Instance::new(None, &InstanceExtensions::none(), None) let mut device_name = String::from("Not supported");
.expect("failed to create instance"); let mut api_version = String::new();
let mut features = String::new();
match Instance::new(None, &InstanceExtensions::none(), None) {
Ok(instance) => {
for physical in PhysicalDevice::enumerate(&instance) { for physical in PhysicalDevice::enumerate(&instance) {
if format!("{:x}", physical.pci_device_id()) == pci_id.to_lowercase() { if format!("{:x}", physical.pci_device_id()) == pci_id.to_lowercase() {
let api_version = physical.api_version().to_string(); api_version = physical.api_version().to_string();
let device_name = physical.name().to_string(); device_name = physical.name().to_string();
let features = format!("{:?}", physical.supported_features()); features = format!("{:?}", physical.supported_features());
return VulkanInfo { }
}
},
Err(_) => (),
}
VulkanInfo {
device_name, device_name,
api_version, api_version,
features, features,
};
}
} }
VulkanInfo {
device_name: "Not supported".to_string(),
api_version: "".to_string(),
features: "".to_string(),
}
} }
} }