pub struct PersistentDescriptorSetBuilder<L, R> { /* private fields */ }
Expand description
Prototype of a PersistentDescriptorSet
.
The template parameter L
is the pipeline layout to use, and the template parameter R
is
an unspecified type that represents the list of resources.
See the docs of PersistentDescriptorSet
for an example.
Implementations
sourceimpl<L, R> PersistentDescriptorSetBuilder<L, R>where
L: PipelineLayoutAbstract,
impl<L, R> PersistentDescriptorSetBuilder<L, R>where
L: PipelineLayoutAbstract,
sourcepub fn build(
self
) -> Result<PersistentDescriptorSet<L, R, StdDescriptorPoolAlloc>, PersistentDescriptorSetBuildError>
pub fn build(
self
) -> Result<PersistentDescriptorSet<L, R, StdDescriptorPoolAlloc>, PersistentDescriptorSetBuildError>
Builds a PersistentDescriptorSet
from the builder.
sourcepub fn build_with_pool<P>(
self,
pool: &mut P
) -> Result<PersistentDescriptorSet<L, R, P::Alloc>, PersistentDescriptorSetBuildError>where
P: ?Sized + DescriptorPool,
pub fn build_with_pool<P>(
self,
pool: &mut P
) -> Result<PersistentDescriptorSet<L, R, P::Alloc>, PersistentDescriptorSetBuildError>where
P: ?Sized + DescriptorPool,
Builds a PersistentDescriptorSet
from the builder.
Panic
Panics if the pool doesn’t have the same device as the pipeline layout.
sourcepub fn enter_array(
self
) -> Result<PersistentDescriptorSetBuilderArray<L, R>, PersistentDescriptorSetError>
pub fn enter_array(
self
) -> Result<PersistentDescriptorSetBuilderArray<L, R>, PersistentDescriptorSetError>
Call this function if the next element of the set is an array in order to set the value of each element.
Returns an error if the descriptor is empty.
This function can be called even if the descriptor isn’t an array, and it is valid to enter the “array”, add one element, then leave.
sourcepub fn add_empty(
self
) -> Result<PersistentDescriptorSetBuilder<L, R>, PersistentDescriptorSetError>
pub fn add_empty(
self
) -> Result<PersistentDescriptorSetBuilder<L, R>, PersistentDescriptorSetError>
Skips the current descriptor if it is empty.
sourcepub fn add_buffer<T>(
self,
buffer: T
) -> Result<PersistentDescriptorSetBuilder<L, (R, PersistentDescriptorSetBuf<T>)>, PersistentDescriptorSetError>where
T: BufferAccess,
pub fn add_buffer<T>(
self,
buffer: T
) -> Result<PersistentDescriptorSetBuilder<L, (R, PersistentDescriptorSetBuf<T>)>, PersistentDescriptorSetError>where
T: BufferAccess,
Binds a buffer as the next descriptor.
An error is returned if the buffer isn’t compatible with the descriptor.
Panic
Panics if the buffer doesn’t have the same device as the pipeline layout.
sourcepub fn add_buffer_view<T>(
self,
view: T
) -> Result<PersistentDescriptorSetBuilder<L, (R, PersistentDescriptorSetBufView<T>)>, PersistentDescriptorSetError>where
T: BufferViewRef,
pub fn add_buffer_view<T>(
self,
view: T
) -> Result<PersistentDescriptorSetBuilder<L, (R, PersistentDescriptorSetBufView<T>)>, PersistentDescriptorSetError>where
T: BufferViewRef,
Binds a buffer view as the next descriptor.
An error is returned if the buffer isn’t compatible with the descriptor.
Panic
Panics if the buffer view doesn’t have the same device as the pipeline layout.
sourcepub fn add_image<T>(
self,
image_view: T
) -> Result<PersistentDescriptorSetBuilder<L, (R, PersistentDescriptorSetImg<T>)>, PersistentDescriptorSetError>where
T: ImageViewAccess,
pub fn add_image<T>(
self,
image_view: T
) -> Result<PersistentDescriptorSetBuilder<L, (R, PersistentDescriptorSetImg<T>)>, PersistentDescriptorSetError>where
T: ImageViewAccess,
Binds an image view as the next descriptor.
An error is returned if the image view isn’t compatible with the descriptor.
Panic
Panics if the image view doesn’t have the same device as the pipeline layout.
sourcepub fn add_sampled_image<T>(
self,
image_view: T,
sampler: Arc<Sampler>
) -> Result<PersistentDescriptorSetBuilder<L, ((R, PersistentDescriptorSetImg<T>), PersistentDescriptorSetSampler)>, PersistentDescriptorSetError>where
T: ImageViewAccess,
pub fn add_sampled_image<T>(
self,
image_view: T,
sampler: Arc<Sampler>
) -> Result<PersistentDescriptorSetBuilder<L, ((R, PersistentDescriptorSetImg<T>), PersistentDescriptorSetSampler)>, PersistentDescriptorSetError>where
T: ImageViewAccess,
Binds an image view with a sampler as the next descriptor.
An error is returned if the image view isn’t compatible with the descriptor.
Panic
Panics if the image view or the sampler doesn’t have the same device as the pipeline layout.
sourcepub fn add_sampler(
self,
sampler: Arc<Sampler>
) -> Result<PersistentDescriptorSetBuilder<L, (R, PersistentDescriptorSetSampler)>, PersistentDescriptorSetError>
pub fn add_sampler(
self,
sampler: Arc<Sampler>
) -> Result<PersistentDescriptorSetBuilder<L, (R, PersistentDescriptorSetSampler)>, PersistentDescriptorSetError>
Binds a sampler as the next descriptor.
An error is returned if the sampler isn’t compatible with the descriptor.
Panic
Panics if the sampler doesn’t have the same device as the pipeline layout.