This commit is contained in:
Florian RICHER 2024-11-08 17:01:30 +01:00
parent 7c072d60e2
commit e26f40ea74
2 changed files with 22 additions and 15 deletions

View file

@ -1,4 +1,4 @@
use std::ffi::CStr;
use std::ffi::CString;
use ash::{vk, Entry};
pub fn use_layers(
@ -11,13 +11,18 @@ pub fn use_layers(
.unwrap_or_default()
};
let mut selected_layers = Vec::<&CStr>::new();
let mut selected_layers = Vec::<String>::new();
log::info!("Available layers ({}):", layers_available.len());
for l in layers_available {
let layer_name = l.layer_name_as_c_str().unwrap_or_default();
if layers_to_select.iter().any(|ln| (*ln).eq(layer_name)) {
selected_layers.push(layer_name.clone());
let layer_name = l
.layer_name_as_c_str()
.unwrap_or_default()
.to_string_lossy()
.into_owned();
if layers_to_select.iter().any(|ln| (*ln).eq(&layer_name)) {
selected_layers.push(layer_name);
}
log::info!(
@ -30,22 +35,24 @@ pub fn use_layers(
}
log::info!(""); // Add blank line
log::info!("Layers to select ({}):", layers_to_select.len());
log::info!("Layers wanted ({}):", layers_to_select.len());
for l in layers_to_select {
let selected = selected_layers.contains(&l);
let selected = selected_layers.iter().any(|sl| sl.eq(l));
log::info!("\t{:?}\tSelected: {}", l, selected);
}
log::info!(""); // Add blank line
selected_layers.iter().map(|sl| sl.as_ptr()).collect()
selected_layers.iter().map(|sl| {
let c_string = CString::new(sl.clone().as_bytes()).unwrap();
c_string.as_ptr()
}).collect()
}
pub fn print_version(version: u32) -> String {
format!(
"{}.{}.{}.{}",
"{}.{}.{}",
vk::api_version_major(version),
vk::api_version_minor(version),
vk::api_version_patch(version),
vk::api_version_variant(version)
vk::api_version_patch(version)
)
}
}