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 PhysicalDeviceFeaturesThe 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
Auto Trait Implementations§
impl<'arg, 'pnext, 'this> Freeze for CreateDeviceCallbackArgs<'arg, 'pnext, 'this>
impl<'arg, 'pnext, 'this> RefUnwindSafe for CreateDeviceCallbackArgs<'arg, 'pnext, 'this>
impl<'arg, 'pnext, 'this> Send for CreateDeviceCallbackArgs<'arg, 'pnext, 'this>
impl<'arg, 'pnext, 'this> Sync for CreateDeviceCallbackArgs<'arg, 'pnext, 'this>
impl<'arg, 'pnext, 'this> Unpin for CreateDeviceCallbackArgs<'arg, 'pnext, 'this>
impl<'arg, 'pnext, 'this> !UnwindSafe for CreateDeviceCallbackArgs<'arg, 'pnext, 'this>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more