[−][src]Trait vulkano::descriptor::pipeline_layout::PipelineLayoutDesc
Trait for objects that describe the layout of the descriptors and push constants of a pipeline.
Required methods
fn num_sets(&self) -> usize
Returns the number of sets in the layout. Includes possibly empty sets.
In other words, this should be equal to the highest set number plus one.
fn num_bindings_in_set(&self, set: usize) -> Option<usize>
Returns the number of descriptors in the set. Includes possibly empty descriptors.
Returns None
if the set is out of range.
fn descriptor(&self, set: usize, binding: usize) -> Option<DescriptorDesc>
Returns the descriptor for the given binding of the given set.
Returns None
if out of range or if the descriptor is empty.
fn num_push_constants_ranges(&self) -> usize
Returns the number of push constant ranges of the layout.
fn push_constants_range(&self, num: usize) -> Option<PipelineLayoutDescPcRange>
Returns a description of the given push constants range.
Contrary to the descriptors, a push constants range can't be empty.
Returns None
if out of range.
Each bit of stages
must only be present in a single push constants range of the
description.
Provided methods
fn provided_set_layout(
&self,
_set: usize
) -> Option<Arc<UnsafeDescriptorSetLayout>>
&self,
_set: usize
) -> Option<Arc<UnsafeDescriptorSetLayout>>
If the PipelineLayoutDesc
implementation is able to provide an existing
UnsafeDescriptorSetLayout
for a given set, it can do so by returning it here.
fn union<T>(self, other: T) -> PipelineLayoutDescUnion<Self, T> where
Self: Sized,
Self: Sized,
Builds the union of this layout and another.
fn check_against_limits(
&self,
device: &Device
) -> Result<(), PipelineLayoutLimitsError>
&self,
device: &Device
) -> Result<(), PipelineLayoutLimitsError>
Checks whether this description fulfills the device limits requirements.
fn build(
self,
device: Arc<Device>
) -> Result<PipelineLayout<Self>, PipelineLayoutCreationError> where
Self: Sized,
self,
device: Arc<Device>
) -> Result<PipelineLayout<Self>, PipelineLayoutCreationError> where
Self: Sized,
Turns the layout description into a PipelineLayout
object that can be used by Vulkan.
Note: This is just a shortcut for
PipelineLayout::new
.
Implementors
impl PipelineLayoutDesc for EmptyPipelineDesc
[src]
fn num_sets(&self) -> usize
[src]
fn num_bindings_in_set(&self, _: usize) -> Option<usize>
[src]
fn descriptor(&self, _: usize, _: usize) -> Option<DescriptorDesc>
[src]
fn num_push_constants_ranges(&self) -> usize
[src]
fn push_constants_range(&self, _: usize) -> Option<PipelineLayoutDescPcRange>
[src]
impl PipelineLayoutDesc for RuntimePipelineDesc
[src]
fn num_sets(&self) -> usize
[src]
fn num_bindings_in_set(&self, set: usize) -> Option<usize>
[src]
fn descriptor(&self, set: usize, binding: usize) -> Option<DescriptorDesc>
[src]
fn num_push_constants_ranges(&self) -> usize
[src]
fn push_constants_range(&self, num: usize) -> Option<PipelineLayoutDescPcRange>
[src]
impl<A, B> PipelineLayoutDesc for PipelineLayoutDescUnion<A, B> where
A: PipelineLayoutDesc,
B: PipelineLayoutDesc,
[src]
A: PipelineLayoutDesc,
B: PipelineLayoutDesc,
fn num_sets(&self) -> usize
[src]
fn num_bindings_in_set(&self, set: usize) -> Option<usize>
[src]
fn descriptor(&self, set: usize, binding: usize) -> Option<DescriptorDesc>
[src]
fn provided_set_layout(
&self,
set: usize
) -> Option<Arc<UnsafeDescriptorSetLayout>>
[src]
&self,
set: usize
) -> Option<Arc<UnsafeDescriptorSetLayout>>
fn num_push_constants_ranges(&self) -> usize
[src]
fn push_constants_range(&self, num: usize) -> Option<PipelineLayoutDescPcRange>
[src]
impl<D> PipelineLayoutDesc for PipelineLayout<D> where
D: PipelineLayoutDesc,
[src]
D: PipelineLayoutDesc,
fn num_sets(&self) -> usize
[src]
fn num_bindings_in_set(&self, set: usize) -> Option<usize>
[src]
fn descriptor(&self, set: usize, binding: usize) -> Option<DescriptorDesc>
[src]
fn num_push_constants_ranges(&self) -> usize
[src]
fn push_constants_range(&self, num: usize) -> Option<PipelineLayoutDescPcRange>
[src]
impl<Mv, L, Rp> PipelineLayoutDesc for GraphicsPipeline<Mv, L, Rp> where
L: PipelineLayoutDesc,
[src]
L: PipelineLayoutDesc,
fn num_sets(&self) -> usize
[src]
fn num_bindings_in_set(&self, set: usize) -> Option<usize>
[src]
fn descriptor(&self, set: usize, binding: usize) -> Option<DescriptorDesc>
[src]
fn num_push_constants_ranges(&self) -> usize
[src]
fn push_constants_range(&self, num: usize) -> Option<PipelineLayoutDescPcRange>
[src]
impl<Pl> PipelineLayoutDesc for ComputePipeline<Pl> where
Pl: PipelineLayoutDesc,
[src]
Pl: PipelineLayoutDesc,
fn num_sets(&self) -> usize
[src]
fn num_bindings_in_set(&self, set: usize) -> Option<usize>
[src]
fn descriptor(&self, set: usize, binding: usize) -> Option<DescriptorDesc>
[src]
fn num_push_constants_ranges(&self) -> usize
[src]
fn push_constants_range(&self, num: usize) -> Option<PipelineLayoutDescPcRange>
[src]
impl<T> PipelineLayoutDesc for T where
T: SafeDeref,
T::Target: PipelineLayoutDesc,
[src]
T: SafeDeref,
T::Target: PipelineLayoutDesc,