[][src]Struct nannou::vk::PipelineLayout

pub struct PipelineLayout<L> { /* fields omitted */ }

Wrapper around the PipelineLayout Vulkan object. Describes to the Vulkan implementation the descriptor sets and push constants available to your shaders

Methods

impl<L> PipelineLayout<L> where
    L: PipelineLayoutDesc
[src]

pub fn new(
    device: Arc<Device>,
    desc: L
) -> Result<PipelineLayout<L>, PipelineLayoutCreationError>
[src]

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.

impl<L> PipelineLayout<L> where
    L: PipelineLayoutDesc
[src]

pub fn desc(&self) -> &L[src]

Returns the description of the pipeline layout.

Trait Implementations

impl<D> DeviceOwned for PipelineLayout<D>[src]

impl<D> PipelineLayoutAbstract for PipelineLayout<D> where
    D: PipelineLayoutDesc
[src]

impl<D> PipelineLayoutDesc for PipelineLayout<D> where
    D: PipelineLayoutDesc
[src]

fn provided_set_layout(
    &self,
    _set: usize
) -> Option<Arc<UnsafeDescriptorSetLayout>>
[src]

If the PipelineLayoutDesc implementation is able to provide an existing UnsafeDescriptorSetLayout for a given set, it can do so by returning it here. Read more

fn union<T>(self, other: T) -> PipelineLayoutDescUnion<Self, T>[src]

Builds the union of this layout and another.

fn check_against_limits(
    &self,
    device: &Device
) -> Result<(), PipelineLayoutLimitsError>
[src]

Checks whether this description fulfills the device limits requirements.

fn build(
    self,
    device: Arc<Device>
) -> Result<PipelineLayout<Self>, PipelineLayoutCreationError>
[src]

Turns the layout description into a PipelineLayout object that can be used by Vulkan. Read more

impl<L> Drop for PipelineLayout<L>[src]

impl<D> Debug for PipelineLayout<D> where
    D: Debug
[src]

Auto Trait Implementations

impl<L> Send for PipelineLayout<L> where
    L: Send

impl<L> Sync for PipelineLayout<L> where
    L: Sync

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> PipelineLayoutDesc for T where
    T: SafeDeref,
    <T as Deref>::Target: PipelineLayoutDesc
[src]

fn provided_set_layout(
    &self,
    _set: usize
) -> Option<Arc<UnsafeDescriptorSetLayout>>
[src]

If the PipelineLayoutDesc implementation is able to provide an existing UnsafeDescriptorSetLayout for a given set, it can do so by returning it here. Read more

fn union<T>(self, other: T) -> PipelineLayoutDescUnion<Self, T>[src]

Builds the union of this layout and another.

fn check_against_limits(
    &self,
    device: &Device
) -> Result<(), PipelineLayoutLimitsError>
[src]

Checks whether this description fulfills the device limits requirements.

fn build(
    self,
    device: Arc<Device>
) -> Result<PipelineLayout<Self>, PipelineLayoutCreationError>
[src]

Turns the layout description into a PipelineLayout object that can be used by Vulkan. Read more

impl<T> DeviceOwned for T where
    T: Deref,
    <T as Deref>::Target: DeviceOwned
[src]

impl<T> Content for T[src]

impl<T> PipelineLayoutAbstract for T where
    T: SafeDeref,
    <T as Deref>::Target: PipelineLayoutAbstract
[src]

impl<T, U> PipelineLayoutPushConstantsCompatible<U> for T where
    T: PipelineLayoutDesc + ?Sized,
    U: ?Sized
[src]

impl<T, U> PipelineLayoutSuperset<U> for T where
    T: PipelineLayoutDesc + ?Sized,
    U: PipelineLayoutDesc + ?Sized
[src]

impl<T, U> PipelineLayoutSetsCompatible<U> for T where
    T: PipelineLayoutDesc + ?Sized,
    U: DescriptorSetsCollection + ?Sized
[src]

impl<T> SafeBorrow<T> for T[src]

impl<T> Erased for T

impl<S> FromSample<S> for S[src]

impl<T, U> ToSample<U> for T where
    U: FromSample<T>, 
[src]

impl<S, T> Duplex<S> for T where
    T: FromSample<S> + ToSample<S>, 
[src]

impl<T> SetParameter for T

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
    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>, 

Sets value as a parameter of self.