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

pub unsafe trait TypedResourceBindings: ResourceBindings {
    type Layout: TypedResourceBindingsLayout;
}

Sub-trait of ResourceBindings, where a type statically describes its resource bindings layout.

Resource bindings that implement this trait may be bound to graphics pipelines with a matching TypedResourceBindingsLayout without further runtime checks.

Unsafe

This trait must only by implemented for ResourceBindings types if the recourse bindings encoding for any instance of the the type is guaranteed to compatible with the resource slots on a pipeline that matches the [Layout].

Associated Types

type Layout: TypedResourceBindingsLayout

A type statically associated with a resource bindings layout with which the encoding of any instance of these TypedResourceBindings is compatible.

Loading content...

Implementations on Foreign Types

impl TypedResourceBindings for ()[src]

type Layout = ()

impl<T0, T1, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout)

impl<T0, T1, T2, '_, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>, &'_ BindGroup<T2>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup,
    T2: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout, T2::Layout)

impl<T0, T1, T2, T3, '_, '_, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>, &'_ BindGroup<T2>, &'_ BindGroup<T3>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup,
    T2: TypedBindableResourceGroup,
    T3: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout, T2::Layout, T3::Layout)

impl<T0, T1, T2, T3, T4, '_, '_, '_, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>, &'_ BindGroup<T2>, &'_ BindGroup<T3>, &'_ BindGroup<T4>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup,
    T2: TypedBindableResourceGroup,
    T3: TypedBindableResourceGroup,
    T4: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout, T2::Layout, T3::Layout, T4::Layout)

impl<T0, T1, T2, T3, T4, T5, '_, '_, '_, '_, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>, &'_ BindGroup<T2>, &'_ BindGroup<T3>, &'_ BindGroup<T4>, &'_ BindGroup<T5>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup,
    T2: TypedBindableResourceGroup,
    T3: TypedBindableResourceGroup,
    T4: TypedBindableResourceGroup,
    T5: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout, T2::Layout, T3::Layout, T4::Layout, T5::Layout)

impl<T0, T1, T2, T3, T4, T5, T6, '_, '_, '_, '_, '_, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>, &'_ BindGroup<T2>, &'_ BindGroup<T3>, &'_ BindGroup<T4>, &'_ BindGroup<T5>, &'_ BindGroup<T6>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup,
    T2: TypedBindableResourceGroup,
    T3: TypedBindableResourceGroup,
    T4: TypedBindableResourceGroup,
    T5: TypedBindableResourceGroup,
    T6: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout, T2::Layout, T3::Layout, T4::Layout, T5::Layout, T6::Layout)

impl<T0, T1, T2, T3, T4, T5, T6, T7, '_, '_, '_, '_, '_, '_, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>, &'_ BindGroup<T2>, &'_ BindGroup<T3>, &'_ BindGroup<T4>, &'_ BindGroup<T5>, &'_ BindGroup<T6>, &'_ BindGroup<T7>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup,
    T2: TypedBindableResourceGroup,
    T3: TypedBindableResourceGroup,
    T4: TypedBindableResourceGroup,
    T5: TypedBindableResourceGroup,
    T6: TypedBindableResourceGroup,
    T7: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout, T2::Layout, T3::Layout, T4::Layout, T5::Layout, T6::Layout, T7::Layout)

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, '_, '_, '_, '_, '_, '_, '_, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>, &'_ BindGroup<T2>, &'_ BindGroup<T3>, &'_ BindGroup<T4>, &'_ BindGroup<T5>, &'_ BindGroup<T6>, &'_ BindGroup<T7>, &'_ BindGroup<T8>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup,
    T2: TypedBindableResourceGroup,
    T3: TypedBindableResourceGroup,
    T4: TypedBindableResourceGroup,
    T5: TypedBindableResourceGroup,
    T6: TypedBindableResourceGroup,
    T7: TypedBindableResourceGroup,
    T8: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout, T2::Layout, T3::Layout, T4::Layout, T5::Layout, T6::Layout, T7::Layout, T8::Layout)

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>, &'_ BindGroup<T2>, &'_ BindGroup<T3>, &'_ BindGroup<T4>, &'_ BindGroup<T5>, &'_ BindGroup<T6>, &'_ BindGroup<T7>, &'_ BindGroup<T8>, &'_ BindGroup<T9>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup,
    T2: TypedBindableResourceGroup,
    T3: TypedBindableResourceGroup,
    T4: TypedBindableResourceGroup,
    T5: TypedBindableResourceGroup,
    T6: TypedBindableResourceGroup,
    T7: TypedBindableResourceGroup,
    T8: TypedBindableResourceGroup,
    T9: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout, T2::Layout, T3::Layout, T4::Layout, T5::Layout, T6::Layout, T7::Layout, T8::Layout, T9::Layout)

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>, &'_ BindGroup<T2>, &'_ BindGroup<T3>, &'_ BindGroup<T4>, &'_ BindGroup<T5>, &'_ BindGroup<T6>, &'_ BindGroup<T7>, &'_ BindGroup<T8>, &'_ BindGroup<T9>, &'_ BindGroup<T10>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup,
    T2: TypedBindableResourceGroup,
    T3: TypedBindableResourceGroup,
    T4: TypedBindableResourceGroup,
    T5: TypedBindableResourceGroup,
    T6: TypedBindableResourceGroup,
    T7: TypedBindableResourceGroup,
    T8: TypedBindableResourceGroup,
    T9: TypedBindableResourceGroup,
    T10: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout, T2::Layout, T3::Layout, T4::Layout, T5::Layout, T6::Layout, T7::Layout, T8::Layout, T9::Layout, T10::Layout)

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>, &'_ BindGroup<T2>, &'_ BindGroup<T3>, &'_ BindGroup<T4>, &'_ BindGroup<T5>, &'_ BindGroup<T6>, &'_ BindGroup<T7>, &'_ BindGroup<T8>, &'_ BindGroup<T9>, &'_ BindGroup<T10>, &'_ BindGroup<T11>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup,
    T2: TypedBindableResourceGroup,
    T3: TypedBindableResourceGroup,
    T4: TypedBindableResourceGroup,
    T5: TypedBindableResourceGroup,
    T6: TypedBindableResourceGroup,
    T7: TypedBindableResourceGroup,
    T8: TypedBindableResourceGroup,
    T9: TypedBindableResourceGroup,
    T10: TypedBindableResourceGroup,
    T11: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout, T2::Layout, T3::Layout, T4::Layout, T5::Layout, T6::Layout, T7::Layout, T8::Layout, T9::Layout, T10::Layout, T11::Layout)

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>, &'_ BindGroup<T2>, &'_ BindGroup<T3>, &'_ BindGroup<T4>, &'_ BindGroup<T5>, &'_ BindGroup<T6>, &'_ BindGroup<T7>, &'_ BindGroup<T8>, &'_ BindGroup<T9>, &'_ BindGroup<T10>, &'_ BindGroup<T11>, &'_ BindGroup<T12>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup,
    T2: TypedBindableResourceGroup,
    T3: TypedBindableResourceGroup,
    T4: TypedBindableResourceGroup,
    T5: TypedBindableResourceGroup,
    T6: TypedBindableResourceGroup,
    T7: TypedBindableResourceGroup,
    T8: TypedBindableResourceGroup,
    T9: TypedBindableResourceGroup,
    T10: TypedBindableResourceGroup,
    T11: TypedBindableResourceGroup,
    T12: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout, T2::Layout, T3::Layout, T4::Layout, T5::Layout, T6::Layout, T7::Layout, T8::Layout, T9::Layout, T10::Layout, T11::Layout, T12::Layout)

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>, &'_ BindGroup<T2>, &'_ BindGroup<T3>, &'_ BindGroup<T4>, &'_ BindGroup<T5>, &'_ BindGroup<T6>, &'_ BindGroup<T7>, &'_ BindGroup<T8>, &'_ BindGroup<T9>, &'_ BindGroup<T10>, &'_ BindGroup<T11>, &'_ BindGroup<T12>, &'_ BindGroup<T13>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup,
    T2: TypedBindableResourceGroup,
    T3: TypedBindableResourceGroup,
    T4: TypedBindableResourceGroup,
    T5: TypedBindableResourceGroup,
    T6: TypedBindableResourceGroup,
    T7: TypedBindableResourceGroup,
    T8: TypedBindableResourceGroup,
    T9: TypedBindableResourceGroup,
    T10: TypedBindableResourceGroup,
    T11: TypedBindableResourceGroup,
    T12: TypedBindableResourceGroup,
    T13: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout, T2::Layout, T3::Layout, T4::Layout, T5::Layout, T6::Layout, T7::Layout, T8::Layout, T9::Layout, T10::Layout, T11::Layout, T12::Layout, T13::Layout)

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>, &'_ BindGroup<T2>, &'_ BindGroup<T3>, &'_ BindGroup<T4>, &'_ BindGroup<T5>, &'_ BindGroup<T6>, &'_ BindGroup<T7>, &'_ BindGroup<T8>, &'_ BindGroup<T9>, &'_ BindGroup<T10>, &'_ BindGroup<T11>, &'_ BindGroup<T12>, &'_ BindGroup<T13>, &'_ BindGroup<T14>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup,
    T2: TypedBindableResourceGroup,
    T3: TypedBindableResourceGroup,
    T4: TypedBindableResourceGroup,
    T5: TypedBindableResourceGroup,
    T6: TypedBindableResourceGroup,
    T7: TypedBindableResourceGroup,
    T8: TypedBindableResourceGroup,
    T9: TypedBindableResourceGroup,
    T10: TypedBindableResourceGroup,
    T11: TypedBindableResourceGroup,
    T12: TypedBindableResourceGroup,
    T13: TypedBindableResourceGroup,
    T14: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout, T2::Layout, T3::Layout, T4::Layout, T5::Layout, T6::Layout, T7::Layout, T8::Layout, T9::Layout, T10::Layout, T11::Layout, T12::Layout, T13::Layout, T14::Layout)

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_, '_> TypedResourceBindings for (&'_ BindGroup<T0>, &'_ BindGroup<T1>, &'_ BindGroup<T2>, &'_ BindGroup<T3>, &'_ BindGroup<T4>, &'_ BindGroup<T5>, &'_ BindGroup<T6>, &'_ BindGroup<T7>, &'_ BindGroup<T8>, &'_ BindGroup<T9>, &'_ BindGroup<T10>, &'_ BindGroup<T11>, &'_ BindGroup<T12>, &'_ BindGroup<T13>, &'_ BindGroup<T14>, &'_ BindGroup<T15>) where
    T0: TypedBindableResourceGroup,
    T1: TypedBindableResourceGroup,
    T2: TypedBindableResourceGroup,
    T3: TypedBindableResourceGroup,
    T4: TypedBindableResourceGroup,
    T5: TypedBindableResourceGroup,
    T6: TypedBindableResourceGroup,
    T7: TypedBindableResourceGroup,
    T8: TypedBindableResourceGroup,
    T9: TypedBindableResourceGroup,
    T10: TypedBindableResourceGroup,
    T11: TypedBindableResourceGroup,
    T12: TypedBindableResourceGroup,
    T13: TypedBindableResourceGroup,
    T14: TypedBindableResourceGroup,
    T15: TypedBindableResourceGroup
[src]

type Layout = (T0::Layout, T1::Layout, T2::Layout, T3::Layout, T4::Layout, T5::Layout, T6::Layout, T7::Layout, T8::Layout, T9::Layout, T10::Layout, T11::Layout, T12::Layout, T13::Layout, T14::Layout, T15::Layout)

Loading content...

Implementors

impl<T0, '_> TypedResourceBindings for &'_ BindGroup<T0> where
    T0: TypedBindableResourceGroup
[src]

type Layout = T0::Layout

Loading content...