naga::proc

Function flatten_compose

Source
pub fn flatten_compose<'arenas>(
    ty: Handle<Type>,
    components: &'arenas [Handle<Expression>],
    expressions: &'arenas Arena<Expression>,
    types: &'arenas UniqueArena<Type>,
) -> impl Iterator<Item = Handle<Expression>> + 'arenas
Expand description

Return an iterator over the individual components assembled by a Compose expression.

Given ty and components from an Expression::Compose, return an iterator over the components of the resulting value.

Normally, this would just be an iterator over components. However, Compose expressions can concatenate vectors, in which case the i’th value being composed is not generally the i’th element of components. This function consults ty to decide if this concatenation is occurring, and returns an iterator that produces the components of the result of the Compose expression in either case.