[−][src]Struct vulkano::descriptor::descriptor_set::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, ()>
[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> 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, usize) -> Option<usize>
[src]
fn descriptor(&Self, usize, usize) -> Option<DescriptorDesc>
[src]
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, usize) -> Option<(&dyn BufferAccess, u32)>
[src]
fn num_images(&Self) -> usize
[src]
fn image(&Self, usize) -> Option<(&dyn ImageViewAccess, u32)>
[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, usize) -> Option<DescriptorDesc>
[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(*mut c_void, usize) -> Option<*mut T>
[src]
fn is_size_suitable(usize) -> bool
[src]
fn indiv_size() -> usize
[src]
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,