pub unsafe fn build_with_extension<T: ExtendsDeviceCreateInfo>(
        self,
        instance: &Instance,
        extension: &mut T,
    ) -> Result<Device, DeviceError> {
        // SAFETY: Caller guarantees extensions conform to valid usage requirements.
        unsafe { self.build_impl(instance, Some(extension)) }
    }
/// Returns a new device using the parameters passed into the builder.
///
/// This function also supports passing extension structs for additional information to be used when creating the
/// device. To pass multiple extension structs, use the `push_next` function of the root extension struct.
///
/// # Safety
///
/// The valid usage requirement for vkCreateDevice, `VUID-vkCreateDevice-ppEnabledExtensionNames-01387`,
/// states all enabled extensions must also enable the required dependencies.
///
/// The extension struct must conform to valid usage requirements in the Vulkan specification.
Returns a new device using the parameters passed into the builder.
This function also supports passing extension structs for additional information to be used when creating the
device. To pass multiple extension structs, use the `push_next` function of the root extension struct.
Returns a new device using the parameters passed into the builder . This function also supports passing extension structs for additional information to be used when creating the device . To pass multiple extension structs use the ` push_next ` function of the root extension struct .
pub unsafe fn build_with_extension<T: ExtendsDeviceCreateInfo>(
        self,
        instance: &Instance,
        extension: &mut T,
    ) -> Result<Device, DeviceError> {
        // SAFETY: Caller guarantees extensions conform to valid usage requirements.
        unsafe { self.build_impl(instance, Some(extension)) }
    }
pub unsafe fn build_with_extension < T : ExtendsDeviceCreateInfo > ( self , instance : & Instance , extension : & mut T , ) -> Result < Device , DeviceError > { // SAFETY: Caller guarantees extensions conform to valid usage requirements. unsafe { self . build_impl ( instance , Some ( extension ) ) } }
Returns a new device using the parameters passed into the builder.
Returns a new device using the parameters passed into the builder .
self
instance
&Instance
extension
&mut T
safety
The valid usage requirement for vkCreateDevice, `VUID-vkCreateDevice-ppEnabledExtensionNames-01387`,
states all enabled extensions must also enable the required dependencies.

The extension struct must conform to valid usage requirements in the Vulkan specification.
The valid usage requirement for vkCreateDevice ` VUID - vkCreateDevice - ppEnabledExtensionNames - 01387 ` states all enabled extensions must also enable the required dependencies . The extension struct must conform to valid usage requirements in the Vulkan specification .