From c9aed7518aeb07e607cb15e972801b690fcd5162 Mon Sep 17 00:00:00 2001 From: hodasemi Date: Sat, 21 Jan 2023 13:35:20 +0100 Subject: [PATCH] Instance::preinitialized tmp logging --- vulkan-rs/src/instance.rs | 49 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/vulkan-rs/src/instance.rs b/vulkan-rs/src/instance.rs index 6cb8c12..42f4fd9 100644 --- a/vulkan-rs/src/instance.rs +++ b/vulkan-rs/src/instance.rs @@ -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> { + 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 created!"); + + Ok(instance) } pub fn new(