[][src]Trait web_glitz::pipeline::resources::TypedResourceBindingsLayout

pub trait TypedResourceBindingsLayout {
    const LAYOUT: TypedResourceBindingsLayoutDescriptor;
}

A resource bindings layout description attached to a type.

See also TypedResourceBindingsLayoutDescriptor.

This trait becomes useful in combination with the TypedResourceBindings trait. If a TypedResourceBindingsLayout is attached to a [GraphicsPipeline] (see [GraphicsPipelineDescriptorBuilder::typed_resource_bindings_layout]), then TypedResourceBindings with a matching TypedResourceBindings::Layout may be bound to the pipeline without further runtime checks.

Note that TypedResourceBindingsLayout is safe to implement, but implementing TypedResourceBindings is unsafe: the resource bindings encoded by a TypedResourceBindings implementation must always be compatible with the bindings layout specified by its TypedResourceBindings::Layout, see TypedResourceBindings for details.

Associated Constants

Loading content...

Implementations on Foreign Types

impl<T0, T1> TypedResourceBindingsLayout for (T0, T1) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout, 
[src]

impl<T0, T1, T2> TypedResourceBindingsLayout for (T0, T1, T2) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout,
    T2: TypedBindGroupLayout, 
[src]

impl<T0, T1, T2, T3> TypedResourceBindingsLayout for (T0, T1, T2, T3) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout,
    T2: TypedBindGroupLayout,
    T3: TypedBindGroupLayout, 
[src]

impl<T0, T1, T2, T3, T4> TypedResourceBindingsLayout for (T0, T1, T2, T3, T4) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout,
    T2: TypedBindGroupLayout,
    T3: TypedBindGroupLayout,
    T4: TypedBindGroupLayout, 
[src]

impl<T0, T1, T2, T3, T4, T5> TypedResourceBindingsLayout for (T0, T1, T2, T3, T4, T5) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout,
    T2: TypedBindGroupLayout,
    T3: TypedBindGroupLayout,
    T4: TypedBindGroupLayout,
    T5: TypedBindGroupLayout, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6> TypedResourceBindingsLayout for (T0, T1, T2, T3, T4, T5, T6) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout,
    T2: TypedBindGroupLayout,
    T3: TypedBindGroupLayout,
    T4: TypedBindGroupLayout,
    T5: TypedBindGroupLayout,
    T6: TypedBindGroupLayout, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7> TypedResourceBindingsLayout for (T0, T1, T2, T3, T4, T5, T6, T7) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout,
    T2: TypedBindGroupLayout,
    T3: TypedBindGroupLayout,
    T4: TypedBindGroupLayout,
    T5: TypedBindGroupLayout,
    T6: TypedBindGroupLayout,
    T7: TypedBindGroupLayout, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TypedResourceBindingsLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout,
    T2: TypedBindGroupLayout,
    T3: TypedBindGroupLayout,
    T4: TypedBindGroupLayout,
    T5: TypedBindGroupLayout,
    T6: TypedBindGroupLayout,
    T7: TypedBindGroupLayout,
    T8: TypedBindGroupLayout, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TypedResourceBindingsLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout,
    T2: TypedBindGroupLayout,
    T3: TypedBindGroupLayout,
    T4: TypedBindGroupLayout,
    T5: TypedBindGroupLayout,
    T6: TypedBindGroupLayout,
    T7: TypedBindGroupLayout,
    T8: TypedBindGroupLayout,
    T9: TypedBindGroupLayout, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TypedResourceBindingsLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout,
    T2: TypedBindGroupLayout,
    T3: TypedBindGroupLayout,
    T4: TypedBindGroupLayout,
    T5: TypedBindGroupLayout,
    T6: TypedBindGroupLayout,
    T7: TypedBindGroupLayout,
    T8: TypedBindGroupLayout,
    T9: TypedBindGroupLayout,
    T10: TypedBindGroupLayout, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TypedResourceBindingsLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout,
    T2: TypedBindGroupLayout,
    T3: TypedBindGroupLayout,
    T4: TypedBindGroupLayout,
    T5: TypedBindGroupLayout,
    T6: TypedBindGroupLayout,
    T7: TypedBindGroupLayout,
    T8: TypedBindGroupLayout,
    T9: TypedBindGroupLayout,
    T10: TypedBindGroupLayout,
    T11: TypedBindGroupLayout, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TypedResourceBindingsLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout,
    T2: TypedBindGroupLayout,
    T3: TypedBindGroupLayout,
    T4: TypedBindGroupLayout,
    T5: TypedBindGroupLayout,
    T6: TypedBindGroupLayout,
    T7: TypedBindGroupLayout,
    T8: TypedBindGroupLayout,
    T9: TypedBindGroupLayout,
    T10: TypedBindGroupLayout,
    T11: TypedBindGroupLayout,
    T12: TypedBindGroupLayout, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TypedResourceBindingsLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout,
    T2: TypedBindGroupLayout,
    T3: TypedBindGroupLayout,
    T4: TypedBindGroupLayout,
    T5: TypedBindGroupLayout,
    T6: TypedBindGroupLayout,
    T7: TypedBindGroupLayout,
    T8: TypedBindGroupLayout,
    T9: TypedBindGroupLayout,
    T10: TypedBindGroupLayout,
    T11: TypedBindGroupLayout,
    T12: TypedBindGroupLayout,
    T13: TypedBindGroupLayout, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TypedResourceBindingsLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout,
    T2: TypedBindGroupLayout,
    T3: TypedBindGroupLayout,
    T4: TypedBindGroupLayout,
    T5: TypedBindGroupLayout,
    T6: TypedBindGroupLayout,
    T7: TypedBindGroupLayout,
    T8: TypedBindGroupLayout,
    T9: TypedBindGroupLayout,
    T10: TypedBindGroupLayout,
    T11: TypedBindGroupLayout,
    T12: TypedBindGroupLayout,
    T13: TypedBindGroupLayout,
    T14: TypedBindGroupLayout, 
[src]

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TypedResourceBindingsLayout for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) where
    T0: TypedBindGroupLayout,
    T1: TypedBindGroupLayout,
    T2: TypedBindGroupLayout,
    T3: TypedBindGroupLayout,
    T4: TypedBindGroupLayout,
    T5: TypedBindGroupLayout,
    T6: TypedBindGroupLayout,
    T7: TypedBindGroupLayout,
    T8: TypedBindGroupLayout,
    T9: TypedBindGroupLayout,
    T10: TypedBindGroupLayout,
    T11: TypedBindGroupLayout,
    T12: TypedBindGroupLayout,
    T13: TypedBindGroupLayout,
    T14: TypedBindGroupLayout,
    T15: TypedBindGroupLayout, 
[src]

Loading content...

Implementors

impl<T0> TypedResourceBindingsLayout for T0 where
    T0: TypedBindGroupLayout, 
[src]

Loading content...