pub fn enumerate_device_layer_properties<Pd>(&self, physical_device: Pd)
            -> VdResult<SmallVec<[LayerProperties; 64]>>
            where Pd: Handle<Target=PhysicalDeviceHandle> {
        let mut property_count = 0u32;
        let mut properties = SmallVec::<[LayerProperties; 64]>::new();
        unsafe {
            let result = self.proc_addr_loader().vk.vkEnumerateDeviceLayerProperties(
                physical_device.handle().to_raw(), &mut property_count, ptr::null_mut());
            error::check(result, "vkEnumerateDeviceLayerProperties", ())?;
            properties.reserve_exact(property_count as usize);
            properties.set_len(property_count as usize);
            loop {
                let result = self.proc_addr_loader().vk.vkEnumerateDeviceLayerProperties(
                    physical_device.handle().to_raw(), &mut property_count,
                    properties.as_mut_ptr() as *mut vks::VkLayerProperties);
                if result != CallResult::Incomplete as i32 {
                    return error::check(result, "vkEnumerateDeviceLayerProperties", properties);
                }
            }
        }
    }
/// Returns the properties of available physical device layers.
///
/// https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkEnumerateDeviceLayerProperties.html
//
// *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice,
// uint32_t* pPropertyCount, VkLayerProperties* pProperties);
Returns the properties of available physical device layers.


Returns the properties of available physical device layers .
pub fn enumerate_device_layer_properties<Pd>(&self, physical_device: Pd)
            -> VdResult<SmallVec<[LayerProperties; 64]>>
            where Pd: Handle<Target=PhysicalDeviceHandle> {
        let mut property_count = 0u32;
        let mut properties = SmallVec::<[LayerProperties; 64]>::new();
        unsafe {
            let result = self.proc_addr_loader().vk.vkEnumerateDeviceLayerProperties(
                physical_device.handle().to_raw(), &mut property_count, ptr::null_mut());
            error::check(result, "vkEnumerateDeviceLayerProperties", ())?;
            properties.reserve_exact(property_count as usize);
            properties.set_len(property_count as usize);
            loop {
                let result = self.proc_addr_loader().vk.vkEnumerateDeviceLayerProperties(
                    physical_device.handle().to_raw(), &mut property_count,
                    properties.as_mut_ptr() as *mut vks::VkLayerProperties);
                if result != CallResult::Incomplete as i32 {
                    return error::check(result, "vkEnumerateDeviceLayerProperties", properties);
                }
            }
        }
    }
pub fn enumerate_device_layer_properties < Pd > ( & self , physical_device : Pd ) -> VdResult < SmallVec < [ LayerProperties ; 64 ] > > where Pd : Handle < Target = PhysicalDeviceHandle > { let mut property_count = 0u32 ; let mut properties = SmallVec :: < [ LayerProperties ; 64 ] > :: new ( ) ; unsafe { let result = self . proc_addr_loader ( ) . vk . vkEnumerateDeviceLayerProperties ( physical_device . handle ( ) . to_raw ( ) , & 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 . proc_addr_loader ( ) . vk . vkEnumerateDeviceLayerProperties ( physical_device . handle ( ) . to_raw ( ) , & mut property_count , properties . as_mut_ptr ( ) as * mut vks :: VkLayerProperties ) ; if result != CallResult :: Incomplete as i32 { return error :: check ( result , " " , properties ) ; } } } }
Returns the properties of available physical device layers.
Returns the properties of available physical device layers .
&self
physical_device
Pd
&self
physical_device
Pd