Struct CreateDeviceCallbackArgs

Source
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 ()>, }
Available on 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

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,