Backends
27 members
The backend contract, the capability model and the registry that spells an intrinsic.
The signature, the description and the examples come from the compiler's own source at commit 26de7be8.
-
ATOMIC_INTRINSICSConstant - The atomic builtins, with the arity and result of each: atomicLoad takes the location alone and returns its value; atomicStore takes a value and returns nothing; the eight read-modify-write forms take a value and return the value the location held before the update.
-
BackendInterface - The contract a target writer implements.
-
BARRIER_INTRINSICSConstant - The barriers: workgroupBarrier() and storageBarrier(), statements with no value that every invocation of a workgroup reaches before any runs on.
-
barrierOutsideDispatchFunction - The error every CPU path throws when a barrier runs outside a dispatch: a barrier waits for the other invocations of the workgroup, and one invocation run alone, by a direct fns call or by a debug session, has none.
-
CapabilitiesClass - The set of capabilities a backend supports, built from its capProfile with Capabilities.fromProfile.
-
capabilityMatrixFunction - Report which backend can spell which capability, as one row per capability with a support class per backend.
-
CapabilityRowInterface - One row of the capability matrix: a capability and how each backend supports it.
-
CapProfileType - A backend's capability table, and the single authority for what its target supports.
-
CapSupportInterface - What one capability costs on one target: the row of a backend's capProfile.
-
CapSupportKindType - How one backend supports one capability. - 'native': supported, with nothing to emit and nothing for the host to turn on. - 'directive': supported, and the emitted source declares it.
-
DERIVATIVE_INTRINSICSConstant - The intrinsics whose value is a difference between neighbouring invocations, so WGSL requires uniform control flow at the call: the derivatives themselves and every sampling form that derives its level of detail implicitly.
-
hostFeaturesForFunction - Translate neutral capability ids into the feature strings one target's host has to activate before it creates a pipeline.
-
INTRINSIC_BINDING_REFSConstant - The binding names an intrinsic's emitted text reads directly, keyed by intrinsic id, for the intrinsics whose spelling names a binding with no argument carrying it.
-
INTRINSIC_HELPERSConstant - The helper functions an intrinsic's GLSL spelling calls, keyed by intrinsic id.
-
intrinsicNeedsAtomArgsFunction - Returns true when name's spelling splices an argument into a position that binds tighter than a plain argument slot, such as an operand of an inlined operator or the base of a .field postfix.
-
INTRINSICSConstant - The spelling of each builtin id on each target, keyed by id.
-
IntrinsicTargetType - The emit target that spellIntrinsic and the INTRINSICS table spell for: 'wgsl' or 'glsl'.
-
isAtomicIntrinsicFunction - Whether name is one of the ATOMIC_INTRINSICS.
-
isBarrierIntrinsicFunction - Whether name is one of the BARRIER_INTRINSICS.
-
isKnownIntrinsicFunction - Returns true when name is a builtin the registry can spell on every target: either an id with an INTRINSICS entry or a member of PORTABLE_INTRINSICS.
-
PACKED_4X8_IDSConstant - The eight packed 4x8 integer builtins.
-
PACKED_4X8_LANGUAGE_FEATUREConstant - The WGSL language feature a module using PACKED_4X8_IDS depends on, as navigator.gpu.wgslLanguageFeatures names it.
-
PORTABLE_INTRINSICSConstant - The builtin ids that spell identically on both targets, such as sin, dot and clamp.
-
PRE_EMIT_INTRINSICSConstant - The builtin ids that fp64Lower rewrites away before any backend runs: 'f64', 'f64FromParts' and 'f64Parts'.
-
spellIntrinsicFunction - Spells a call for one target.
-
TEXTURE_GATHER_IDSConstant - The neutral ids a textureGather / textureGatherCompare call lowers to, one per WGSL argument structure.
-
UnsupportedFeatureErrorClass - Thrown when a module needs a feature the target backend does not support, with code SD0030.