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.
- instructions 🔒
- layout 🔒
- ray 🔒
- Generating SPIR-V for ray query operations.
- recyclable 🔒
- Reusing collections’ previous allocations.
- selection 🔒
- Generate SPIR-V conditional structures.
- subgroup 🔒
- writer 🔒
Structs§
- Binding
Info - Block 🔒
- A SPIR-V block to which we are still adding instructions.
- Block
Context 🔒 - General information needed to emit SPIR-V for Naga statements.
- Cached
Expressions 🔒 - A map from evaluated
Expression
s to their SPIR-V ids. - Debug
Info - Entry
Point 🔒Context - Expression
Constness 🔒Tracker - Tracks the expressions for which the backend emits the following instructions:
- Function 🔒
- Function
Argument 🔒 - Global
Variable 🔒 - The SPIR-V representation of a
crate::GlobalVariable
. - IdGenerator 🔒
- Image
Type Flags - Flags corresponding to the boolean(-ish) parameters to OpTypeImage.
- Instruction 🔒
- Local
Image 🔒Type - Characteristics of a SPIR-V
OpTypeImage
type. - Local
Variable 🔒 - Logical
Layout 🔒 - Lookup
Function 🔒Type - Options
- Physical
Layout 🔒 - Pipeline
Options - Result
Member 🔒 - Terminated
Block 🔒 - A SPIR-V block that ends with a termination instruction.
- Writer
- Writer
Flags
Enums§
- Cached
Constant 🔒 - Capability
- SPIR-V operand kind: Capability
- Dimension 🔒
- Error
- Local
Type 🔒 - A SPIR-V type constructed during code generation.
- Lookup
Type 🔒 - A type encountered during SPIR-V generation.
- Numeric
Type 🔒 - A numeric type, for use in
LocalType
. - Source
Language - SPIR-V operand kind: SourceLanguage
- Wrapped
Function 🔒 - 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
. - Zero
Initialize Workgroup Memory Mode