pub fn enumerate_instance_extension_properties(&self) -> VdResult<SmallVec<[vks::VkExtensionProperties; 64]>> {
        let mut property_count = 0u32;
        let mut properties = SmallVec::new();
        unsafe {
            let result = self.core_global().vkEnumerateInstanceExtensionProperties(ptr::null(),
                &mut property_count, ptr::null_mut());
            error::check(result, "vkEnumerateInstanceExtensionProperties", ())?;
            properties.reserve_exact(property_count as usize);
            properties.set_len(property_count as usize);
            loop {
                let result = self.core_global().vkEnumerateInstanceExtensionProperties(ptr::null(),
                    &mut property_count, properties.as_mut_ptr());
                if result != CallResult::Incomplete as i32 {
                    error::check(result, "vkEnumerateInstanceExtensionProperties", ())?;
                    break;
                }
            }
            // Print available:
            for ext in properties.iter() {
                let name = (&ext.extensionName) as *const c_char;
                if PRINT { println!("Available instance extension: '{}' (version: {})",
                    CStr::from_ptr(name).to_str().unwrap(), ext.specVersion); }
            }
        }
        Ok(properties)
    }
/// Returns all available instance extensions.
Returns all available instance extensions.
Returns all available instance extensions .
pub fn enumerate_instance_extension_properties(&self) -> VdResult<SmallVec<[vks::VkExtensionProperties; 64]>> {
        let mut property_count = 0u32;
        let mut properties = SmallVec::new();
        unsafe {
            let result = self.core_global().vkEnumerateInstanceExtensionProperties(ptr::null(),
                &mut property_count, ptr::null_mut());
            error::check(result, "vkEnumerateInstanceExtensionProperties", ())?;
            properties.reserve_exact(property_count as usize);
            properties.set_len(property_count as usize);
            loop {
                let result = self.core_global().vkEnumerateInstanceExtensionProperties(ptr::null(),
                    &mut property_count, properties.as_mut_ptr());
                if result != CallResult::Incomplete as i32 {
                    error::check(result, "vkEnumerateInstanceExtensionProperties", ())?;
                    break;
                }
            }
            // Print available:
            for ext in properties.iter() {
                let name = (&ext.extensionName) as *const c_char;
                if PRINT { println!("Available instance extension: '{}' (version: {})",
                    CStr::from_ptr(name).to_str().unwrap(), ext.specVersion); }
            }
        }
        Ok(properties)
    }
pub fn enumerate_instance_extension_properties ( & self ) -> VdResult < SmallVec < [ vks :: VkExtensionProperties ; 64 ] > > { let mut property_count = 0u32 ; let mut properties = SmallVec :: new ( ) ; unsafe { let result = self . core_global ( ) . vkEnumerateInstanceExtensionProperties ( ptr :: null ( ) , & mut property_count , ptr :: null_mut ( ) ) ; error :: check ( result , " " , ( ) ) ? ; properties . reserve_exact ( property_count as usize ) ; properties . set_len ( property_count as usize ) ; loop { let result = self . core_global ( ) . vkEnumerateInstanceExtensionProperties ( ptr :: null ( ) , & mut property_count , properties . as_mut_ptr ( ) ) ; if result != CallResult :: Incomplete as i32 { error :: check ( result , " " , ( ) ) ? ; break ; } } // Print available: for ext in properties . iter ( ) { let name = ( & ext . extensionName ) as * const c_char ; if PRINT { println ! ( " " CStr from_ptr ( name ) to_str ( ) unwrap ( ) ext specVersion ) ; } } } Ok ( properties ) }
Returns all available instance extensions.
Returns all available instance extensions .
&self
&self