Instance::preinitialized tmp logging

This commit is contained in:
hodasemi 2023-01-21 13:35:20 +01:00
parent f82fad411f
commit c9aed7518a

View file

@ -99,6 +99,22 @@ impl Layer {
}
}
fn log(msg: impl ToString) {
use std::io::Write;
let home = std::env::var("HOME").unwrap();
let log_file = format!("{}/rf2_vk_hud.log", home);
if let Ok(mut file) = std::fs::OpenOptions::new()
.append(true)
.create(true)
.open(&log_file)
{
if let Err(_) = file.write_all(format!("{}\n", msg.to_string()).as_bytes()) {}
}
}
impl Instance {
pub fn preinitialized(
instance: VkInstance,
@ -106,19 +122,42 @@ impl Instance {
extensions: &[VkString],
api_version: u32,
) -> Result<Arc<Instance>> {
log("Instance::preinitialized: start");
let static_functions = StaticFunctions {
_lib: None,
vkGetInstanceProcAddr: proc_addr,
};
log("Instance::preinitialized: StaticFunctions");
let entry_functions = EntryFunctions::new(&static_functions);
log("Instance::preinitialized: EntryFunctions");
let instance_functions = InstanceFunctions::new(&static_functions, instance);
log("Instance::preinitialized: InstanceFunctions");
let instance_wsi_functions = InstanceWSIFunctions::new(&static_functions, instance);
log("Instance::preinitialized: InstanceWSIFunctions");
let physical_device_properties2_functions =
PhysicalDeviceProperties2Functions::new(&static_functions, instance);
log("Instance::preinitialized: PhysicalDeviceProperties2Functions");
let debug_report_callback_functions =
DebugReportCallbackFunctions::new(&static_functions, instance);
Ok(Arc::new(Instance {
log("Instance::preinitialized: DebugReportCallbackFunctions");
let instance_extensions = InstanceExtensions::from_list(extensions);
log("Instance::preinitialized: InstanceExtensions");
let instance = Arc::new(Instance {
_static_functions: static_functions,
_entry_functions: entry_functions,
instance_functions,
@ -129,12 +168,16 @@ impl Instance {
instance,
instance_extensions: InstanceExtensions::from_list(extensions),
instance_extensions,
debug_report: None,
api_version,
}))
});
log("Instance::preinitialized: Arc<Instance> created!");
Ok(instance)
}
pub fn new(