Tooling

Tooling

20 members

Registry generation, semantic comparison, emit identity and size measurement.

The signature, the description and the examples come from the compiler's own source at commit 26de7be8.

accuracyOf Function
What WGSL §15.7.4 allows the result of one operation to be, for a builtin id, a binary operator or a matrix product as the IR names it, computing in f32: { kind: 'exact' } when there is one answer and both targets give it, otherwise the kind and bound determinismReport would list it with.
buildRegistry Function
Validate a discovered module set against a curated order and render a registry module from it: a union type of the ids, a record from id to module, and the imports feeding it.
BuildRegistryOptions Interface
Options for buildRegistry.
BuiltRegistry Interface
What buildRegistry produced.
ClassifiedSemanticDiff Interface
A SemanticDiff whose differences were classified against a declared transform pipeline (SemanticDiffOptions.transforms).
DeterminismAccuracy Type
What accuracyOf says about one operation: exact when WGSL gives it one answer and both targets agree, otherwise the kind of room left and its bound in words, with a note where the GLSL ES 3.00 spelling matters.
DeterminismEntry Interface
One row of determinismReport: an operation the module uses whose result may differ by driver, with the spec's bound, how many times it occurs and where, in declaration order.
DeterminismKind Type
Why an operation's result may differ by driver, in WGSL §15.7.4's own categories plus four of TypeShade's.
determinismReport Function
The operations in m whose result may differ by driver, one entry per operation and float kind, in order of first appearance over the module constants, the module variables and the functions: a builtin with a ULP or absolute bound, one inherited from a formula the driver may reassociate or fuse, a derivative or determinant, a filtered texture read or gather, an operation the GLSL ES 3.00 spelling may answer differently, every emulated f64 arithmetic operator and bounded builtin, and each floating-point reduction of a kernel function's loop, which runs in the tree order.
emitIdentity Function
A stable, human-readable identity for one emit configuration.
EmitIdentityInput Interface
The emit options that change the emitted text, other than plugins.
EmitTarget Type
The emit target an identity is computed for.
ExplainedDiffEntry Interface
One diff line that a declared transform explains: applying transform to the reference side made line disappear from bucket.
isSemanticallyEqual Function
True when every bucket of d is empty.
RegistryEntry Interface
One discovered module, as the caller's scan found it.
SemanticAspect Type
An axis of difference semanticDiff can be told to disregard.
semanticDiff Function
Compare two modules at the IR and reflection layer.
SemanticDiff Interface
The four buckets of difference.
SemanticDiffBucket Type
One of the four fact buckets of a SemanticDiff.
SemanticDiffOptions Interface
Options for semanticDiff.

Edit this page Report a problem