diff --git a/crates/renderer/src/lib.rs b/crates/renderer/src/lib.rs index 8a062c1..a0bacfb 100644 --- a/crates/renderer/src/lib.rs +++ b/crates/renderer/src/lib.rs @@ -16,12 +16,22 @@ impl Renderer { pub fn new(required_extensions: &[*const c_char]) -> Result { let entry = unsafe { Entry::load() }?; + let mut extensions: Vec<*const c_char> = required_extensions.to_vec(); + let mut layers: Vec<*const c_char> = Vec::new(); + + #[cfg(debug_assertions)] + { + extensions.push(ash::ext::debug_utils::NAME.as_ptr()); + layers.push(c"VK_LAYER_KHRONOS_validation".as_ptr()); + } + let app_info = vk::ApplicationInfo::default() .api_version(vk::API_VERSION_1_3); let create_info = vk::InstanceCreateInfo::default() .application_info(&app_info) - .enabled_extension_names(required_extensions); + .enabled_extension_names(&extensions) + .enabled_layer_names(&layers); let instance = unsafe { entry.create_instance(&create_info, None)? };