[−][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> DeviceOwned for PersistentDescriptorSet<L, R, P> where
L: DeviceOwned,
[src]
L: DeviceOwned,
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]
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> Sync for PersistentDescriptorSet<L, R, P> where
L: Sync,
P: Sync,
R: Sync,
L: Sync,
P: Sync,
R: Sync,
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
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> DeviceOwned for T where
T: Deref,
<T as Deref>::Target: DeviceOwned,
[src]
T: Deref,
<T as Deref>::Target: DeviceOwned,
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> 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<T> Erased for T
impl<S> FromSample<S> for S
[src]
fn from_sample_(s: S) -> S
[src]
impl<T, U> ToSample<U> for T where
U: FromSample<T>,
[src]
U: FromSample<T>,
fn to_sample_(self) -> U
[src]
impl<S, T> Duplex<S> for T where
T: FromSample<S> + ToSample<S>,
[src]
T: FromSample<S> + ToSample<S>,
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
Sets value
as a parameter of 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>,
Sets value
as a parameter of self
.