Struct gfx_hal::pso::Specialization [−][src]
Information required for pipeline specialization.
Specialization allows 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
constants: Cow<'a, [SpecializationConstant]>
Array of descriptors of specialization constants to override.
data: Cow<'a, [u8]>
Raw data of the specialization constants
Implementations
impl Specialization<'_>
[src]
Trait Implementations
impl<'a> Clone for Specialization<'a>
[src]
fn clone(&self) -> Specialization<'a>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<'a> Debug for Specialization<'a>
[src]
impl Default for Specialization<'_>
[src]
impl<T> From<T> for Specialization<'_> where
T: SpecConstList,
[src]
T: SpecConstList,
Auto Trait Implementations
impl<'a> RefUnwindSafe for Specialization<'a>
[src]
impl<'a> Send for Specialization<'a>
[src]
impl<'a> Sync for Specialization<'a>
[src]
impl<'a> Unpin for Specialization<'a>
[src]
impl<'a> UnwindSafe for Specialization<'a>
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,