pub struct CreateDeviceCallbackArgs<'arg, 'pnext, 'this>where
'this: 'pnext,{
pub extensions: &'arg mut Vec<&'static CStr>,
pub device_features: &'arg mut PhysicalDeviceFeatures,
pub queue_create_infos: &'arg mut Vec<DeviceQueueCreateInfo<'pnext>>,
pub create_info: &'arg mut DeviceCreateInfo<'pnext>,
_phantom: PhantomData<&'this ()>,
}
vulkan
only.Expand description
Arguments to the CreateDeviceCallback
.
Fields§
§extensions: &'arg mut Vec<&'static CStr>
The extensions to enable for the device. You must not remove anything from this list, but you may add to it.
device_features: &'arg mut PhysicalDeviceFeatures
The physical device features to enable. You may enable features, but must not disable any.
queue_create_infos: &'arg mut Vec<DeviceQueueCreateInfo<'pnext>>
The queue create infos for the device. You may add or modify queue create infos as needed.
create_info: &'arg mut DeviceCreateInfo<'pnext>
The create info for the device. You may add or modify things in the pnext chain, but do not turn features off. Additionally, do not add things to the list of extensions, or to the feature set, as all changes to that member will be overwritten.
_phantom: PhantomData<&'this ()>
We need to have 'this
in the struct, so we can declare that all lifetimes coming from
captures in the closure will live longer (and hence satisfy) 'pnext
. However, we
don’t actually directly use 'this