StageBindings typedef

StageBindings = ({Set<String> blocks, Set<String> samplers})

One compiled stage of a pipeline — a vertex or a fragment program.

Opaque by construction: the engine looks a stage up, hands it to ShaderLibrary's owner to be paired into a pipeline, and names it when filling a uniform block or a sampler slot. It never inspects one.

name is carried rather than derived because it is the only thing the engine can say about a stage in an error message, and because a fake in a test needs something to be recognised by. What a compiled stage keeps: the uniform blocks and samplers its compiled function has a slot for, by name.

Implementation

typedef StageBindings = ({Set<String> blocks, Set<String> samplers});