pub fn new(required_extensions: &Vec<String>) -> Result<Arc<Self>> {
        let (instance, entry) = Self::create_instance(required_extensions)?;
        let (debug, debug_messenger) =
            debug_callback::create_debug_logger(&entry, &instance)?;

        Ok(Arc::new(Self {
            ash: instance,
            entry,
            debug,
            debug_messenger,
            layers: Self::debug_layers(),
        }))
    }
/// Create a new ash instance with the required extensions.
///
/// Debug and validation layers are automatically setup along with the
/// debug callback.
Create a new ash instance with the required extensions.
Debug and validation layers are automatically setup along with the
debug callback.
Create a new ash instance with the required extensions . Debug and validation layers are automatically setup along with the debug callback .
pub fn new(required_extensions: &Vec<String>) -> Result<Arc<Self>> {
        let (instance, entry) = Self::create_instance(required_extensions)?;
        let (debug, debug_messenger) =
            debug_callback::create_debug_logger(&entry, &instance)?;
        Ok(Arc::new(Self {
            ash: instance,
            entry,
            debug,
            debug_messenger,
            layers: Self::debug_layers(),
        }))
    }
pub fn new ( required_extensions : & Vec < String > ) -> Result < Arc < Self > > { let ( instance , entry ) = Self :: create_instance ( required_extensions ) ? ; let ( debug , debug_messenger ) = debug_callback :: create_debug_logger ( & entry , & instance ) ? ; Ok ( Arc :: new ( Self { ash : instance , entry , debug , debug_messenger , layers : Self :: debug_layers ( ) , } ) ) }
Create a new ash instance with the required extensions.
Create a new ash instance with the required extensions .
required_extensions
&Vec<String>