[−][src]Struct nannou::vk::PersistentDescriptorSet
An immutable descriptor set that is expected to be long-lived.
Creating a persistent descriptor set allocates from a pool, and can't be modified once created. You are therefore encouraged to create them at initialization and not the during performance-critical paths.
Note: You can control of the pool that is used to create the descriptor set, if you wish so. By creating a implementation of the
DescriptorPool
trait that doesn't perform any actual allocation, you can skip this allocation and make it acceptable to use a persistent descriptor set in performance-critical paths..
The template parameter of the PersistentDescriptorSet
is complex, and you shouldn't try to
express it explicitly. If you want to store your descriptor set in a struct or in a Vec
for
example, you are encouraged to turn the PersistentDescriptorSet
into a Box<DescriptorSet>
or a Arc<DescriptorSet>
.
Example
Methods
impl<L> PersistentDescriptorSet<L, (), StdDescriptorPoolAlloc>
[src]
pub fn start(layout: L, set_id: usize) -> PersistentDescriptorSetBuilder<L, ()> where
L: PipelineLayoutAbstract,
[src]
L: PipelineLayoutAbstract,
Starts the process of building a PersistentDescriptorSet
. Returns a builder.
Panic
- Panics if the set id is out of range.
Trait Implementations
impl<L, R, P> DescriptorSet for PersistentDescriptorSet<L, R, P> where
L: PipelineLayoutAbstract,
P: DescriptorPoolAlloc,
R: PersistentDescriptorSetResources,
[src]
L: PipelineLayoutAbstract,
P: DescriptorPoolAlloc,
R: PersistentDescriptorSetResources,
fn inner(&self) -> &UnsafeDescriptorSet
[src]
fn num_buffers(&self) -> usize
[src]
fn buffer(&self, index: usize) -> Option<(&dyn BufferAccess, u32)>
[src]
fn num_images(&self) -> usize
[src]
fn image(&self, index: usize) -> Option<(&dyn ImageViewAccess, u32)>
[src]
impl<L, R, P> DescriptorSetDesc for PersistentDescriptorSet<L, R, P> where
L: PipelineLayoutAbstract,
[src]
L: PipelineLayoutAbstract,
fn num_bindings(&self) -> usize
[src]
fn descriptor(&self, binding: usize) -> Option<DescriptorDesc>
[src]
impl<L, R, P> DeviceOwned for PersistentDescriptorSet<L, R, P> where
L: DeviceOwned,
[src]
L: DeviceOwned,
Auto Trait Implementations
impl<L, R, P> Send for PersistentDescriptorSet<L, R, P> where
L: Send,
P: Send,
R: Send,
L: Send,
P: Send,
R: Send,
impl<L, R, P> Unpin for PersistentDescriptorSet<L, R, P> where
L: Unpin,
P: Unpin,
R: Unpin,
L: Unpin,
P: Unpin,
R: Unpin,
impl<L, R, P> Sync for PersistentDescriptorSet<L, R, P> where
L: Sync,
P: Sync,
R: Sync,
L: Sync,
P: Sync,
R: Sync,
impl<L, R, P> UnwindSafe for PersistentDescriptorSet<L, R, P> where
L: UnwindSafe,
P: UnwindSafe,
R: UnwindSafe,
L: UnwindSafe,
P: UnwindSafe,
R: UnwindSafe,
impl<L, R, P> RefUnwindSafe for PersistentDescriptorSet<L, R, P> where
L: RefUnwindSafe,
P: RefUnwindSafe,
R: RefUnwindSafe,
L: RefUnwindSafe,
P: RefUnwindSafe,
R: RefUnwindSafe,
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> DescriptorSet for T where
T: SafeDeref,
<T as Deref>::Target: DescriptorSet,
[src]
T: SafeDeref,
<T as Deref>::Target: DescriptorSet,
fn inner(&self) -> &UnsafeDescriptorSet
[src]
fn num_buffers(&self) -> usize
[src]
fn buffer(&self, index: usize) -> Option<(&dyn BufferAccess, u32)>
[src]
fn num_images(&self) -> usize
[src]
fn image(&self, index: usize) -> Option<(&dyn ImageViewAccess, u32)>
[src]
impl<T> Content for T
[src]
fn ref_from_ptr(ptr: *mut c_void, size: usize) -> Option<*mut T>
[src]
fn is_size_suitable(size: usize) -> bool
[src]
fn indiv_size() -> usize
[src]
impl<T> DeviceOwned for T where
T: Deref,
<T as Deref>::Target: DeviceOwned,
[src]
T: Deref,
<T as Deref>::Target: DeviceOwned,
impl<T> DescriptorSetsCollection for T where
T: DescriptorSet + Send + Sync + 'static,
[src]
T: DescriptorSet + Send + Sync + 'static,
fn into_vec(self) -> Vec<Box<dyn DescriptorSet + 'static + Sync + Send>>
[src]
fn num_bindings_in_set(&self, set: usize) -> Option<usize>
[src]
fn descriptor(&self, set: usize, binding: usize) -> Option<DescriptorDesc>
[src]
impl<T> DescriptorSetDesc for T where
T: SafeDeref,
<T as Deref>::Target: DescriptorSetDesc,
[src]
T: SafeDeref,
<T as Deref>::Target: DescriptorSetDesc,
fn num_bindings(&self) -> usize
[src]
fn descriptor(&self, binding: usize) -> Option<DescriptorDesc>
[src]
impl<T> SafeBorrow<T> for T
[src]
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
D: AdaptFrom<S, Swp, Dwp, T>,
Dwp: WhitePoint,
Swp: WhitePoint,
T: Component + Float,
[src]
D: AdaptFrom<S, Swp, Dwp, T>,
Dwp: WhitePoint,
Swp: WhitePoint,
T: Component + Float,
fn adapt_into_using<M>(self, method: M) -> D where
M: TransformMatrix<Swp, Dwp, T>,
[src]
M: TransformMatrix<Swp, Dwp, T>,
fn adapt_into(self) -> D
[src]
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,