Struct vulkano::descriptor::pipeline_layout::PipelineLayout
source · pub struct PipelineLayout<L> { /* private fields */ }
Expand description
Wrapper around the PipelineLayout
Vulkan object. Describes to the Vulkan implementation the
descriptor sets and push constants available to your shaders
Implementations
sourceimpl<L> PipelineLayout<L>where
L: PipelineLayoutDesc,
impl<L> PipelineLayout<L>where
L: PipelineLayoutDesc,
sourcepub fn new(
device: Arc<Device>,
desc: L
) -> Result<PipelineLayout<L>, PipelineLayoutCreationError>
pub fn new(
device: Arc<Device>,
desc: L
) -> Result<PipelineLayout<L>, PipelineLayoutCreationError>
Creates a new PipelineLayout
.
Panic
- Panics if one of the layout returned by
provided_set_layout()
belongs to a different device than the one passed as parameter.
sourceimpl<L> PipelineLayout<L>where
L: PipelineLayoutDesc,
impl<L> PipelineLayout<L>where
L: PipelineLayoutDesc,
Trait Implementations
sourceimpl<D> Debug for PipelineLayout<D>where
D: Debug,
impl<D> Debug for PipelineLayout<D>where
D: Debug,
sourceimpl<D> DeviceOwned for PipelineLayout<D>
impl<D> DeviceOwned for PipelineLayout<D>
sourceimpl<L> Drop for PipelineLayout<L>
impl<L> Drop for PipelineLayout<L>
sourceimpl<D> PipelineLayoutAbstract for PipelineLayout<D>where
D: PipelineLayoutDesc,
impl<D> PipelineLayoutAbstract for PipelineLayout<D>where
D: PipelineLayoutDesc,
sourcefn sys(&self) -> PipelineLayoutSys<'_>
fn sys(&self) -> PipelineLayoutSys<'_>
Returns an opaque object that allows internal access to the pipeline layout. Read more
sourcefn descriptor_set_layout(
&self,
index: usize
) -> Option<&Arc<UnsafeDescriptorSetLayout>>
fn descriptor_set_layout(
&self,
index: usize
) -> Option<&Arc<UnsafeDescriptorSetLayout>>
Returns the
UnsafeDescriptorSetLayout
object of the specified set index. Read moresourceimpl<D> PipelineLayoutDesc for PipelineLayout<D>where
D: PipelineLayoutDesc,
impl<D> PipelineLayoutDesc for PipelineLayout<D>where
D: PipelineLayoutDesc,
sourcefn num_sets(&self) -> usize
fn num_sets(&self) -> usize
Returns the number of sets in the layout. Includes possibly empty sets. Read more
sourcefn num_bindings_in_set(&self, set: usize) -> Option<usize>
fn num_bindings_in_set(&self, set: usize) -> Option<usize>
Returns the number of descriptors in the set. Includes possibly empty descriptors. Read more
sourcefn descriptor(&self, set: usize, binding: usize) -> Option<DescriptorDesc>
fn descriptor(&self, set: usize, binding: usize) -> Option<DescriptorDesc>
Returns the descriptor for the given binding of the given set. Read more
sourcefn num_push_constants_ranges(&self) -> usize
fn num_push_constants_ranges(&self) -> usize
Returns the number of push constant ranges of the layout.
sourcefn push_constants_range(&self, num: usize) -> Option<PipelineLayoutDescPcRange>
fn push_constants_range(&self, num: usize) -> Option<PipelineLayoutDescPcRange>
Returns a description of the given push constants range. Read more
sourcefn provided_set_layout(
&self,
_set: usize
) -> Option<Arc<UnsafeDescriptorSetLayout>>
fn provided_set_layout(
&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. Read moresourcefn union<T>(self, other: T) -> PipelineLayoutDescUnion<Self, T>where
Self: Sized,
fn union<T>(self, other: T) -> PipelineLayoutDescUnion<Self, T>where
Self: Sized,
Builds the union of this layout and another.
sourcefn check_against_limits(
&self,
device: &Device
) -> Result<(), PipelineLayoutLimitsError>
fn check_against_limits(
&self,
device: &Device
) -> Result<(), PipelineLayoutLimitsError>
Checks whether this description fulfills the device limits requirements.
sourcefn build(
self,
device: Arc<Device>
) -> Result<PipelineLayout<Self>, PipelineLayoutCreationError>where
Self: Sized,
fn build(
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. Read moreAuto Trait Implementations
impl<L> RefUnwindSafe for PipelineLayout<L>where
L: RefUnwindSafe,
impl<L> Send for PipelineLayout<L>where
L: Send,
impl<L> Sync for PipelineLayout<L>where
L: Sync,
impl<L> Unpin for PipelineLayout<L>where
L: Unpin,
impl<L> UnwindSafe for PipelineLayout<L>where
L: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Content for T
impl<T> Content for T
sourcefn ref_from_ptr<'a>(ptr: *mut c_void, size: usize) -> Option<*mut T>
fn ref_from_ptr<'a>(ptr: *mut c_void, size: usize) -> Option<*mut T>
Builds a pointer to this type from a raw pointer.
sourcefn is_size_suitable(size: usize) -> bool
fn is_size_suitable(size: usize) -> bool
Returns true if the size is suitable to store a type like this.
sourcefn indiv_size() -> usize
fn indiv_size() -> usize
Returns the size of an individual element.