[][src]Struct gfx_hal::pso::SpecializationConstant

pub struct SpecializationConstant {
    pub id: u32,
    pub range: Range<u16>,
}

Specialization constant for pipelines.

Specialization constants allow for easy configuration of multiple similar pipelines. For example, there may be a boolean exposed to the shader that switches the specularity on/off provided via a specialization constant. That would produce separate PSO's for the "on" and "off" states but they share most of the internal stuff and are fast to produce. More importantly, they are fast to execute, since the driver can optimize out the branch on that other PSO creation.

Fields

id: u32

Constant identifier in shader source.

range: Range<u16>

Value to override specialization constant.

Trait Implementations

impl Clone for SpecializationConstant[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for SpecializationConstant[src]

Auto Trait Implementations

impl Unpin for SpecializationConstant

impl Sync for SpecializationConstant

impl Send for SpecializationConstant

impl UnwindSafe for SpecializationConstant

impl RefUnwindSafe for SpecializationConstant

Blanket Implementations

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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]