Expand description
Backend for SPIR-V (Standard Portable Intermediate Representation).
Modules§
- block 🔒Implementations for
BlockContext
methods. - helpers 🔒
- image 🔒Generating SPIR-V for image operations.
- index 🔒Bounds-checking for SPIR-V output.
- layout 🔒
- ray 🔒Generating SPIR-V for ray query operations.
- Reusing collections’ previous allocations.
- Generate SPIR-V conditional structures.
- subgroup 🔒
- writer 🔒
Structs§
- Block 🔒A SPIR-V block to which we are still adding instructions.
- General information needed to emit SPIR-V for Naga statements.
- A map from evaluated
Expression
s to their SPIR-V ids. - Tracks the expressions for which the backend emits the following instructions:
- Function 🔒
- The SPIR-V representation of a
crate::GlobalVariable
. - Flags corresponding to the boolean(-ish) parameters to OpTypeImage.
- Characteristics of a SPIR-V
OpTypeImage
type. - A SPIR-V block that ends with a termination instruction.
Enums§
- SPIR-V operand kind: Capability
- A SPIR-V type constructed during code generation.
- A type encountered during SPIR-V generation.
- A numeric type, for use in
LocalType
. - SPIR-V operand kind: SourceLanguage
- Key used to look up an operation which we have wrapped in a helper function, which should be called instead of directly emitting code for the expression. See
Writer::wrapped_functions
.