Expand description
A node of a program’s value graph (iridia::flow::Values) evaluated from the words of the leaves it reads, with the
executor’s own operations: what a run of the program computes for that lane where it is given the same leaves, bit
for bit. The caller answers the leaves (an input lane, a supplied value, a global’s word, a texel, a query) or leaves
them unknown; a node that needs an unknown leaf is unknown, naming it. A select whose condition is unknown is known
where both its values are and are the same bits.
Refused with an error, never guessed: an operation the graph states no kind for, a derivative, a subgroup operation,
a loop’s value, a merge whose arms differ (the graph does not state which condition picks which arm), an element
picked by a run-time index (Op::Index: the graph does not state which candidate an index picks), a math function
that mixes lanes other than a dot product, and an operation the executor refuses.
Structs§
- Evaluator
- Evaluates nodes of one value graph, keeping what it has evaluated: the leaves are asked once each.
Enums§
- Evaluated
- What a node evaluates to.