Expand description
Backend for SPIR-V (Standard Portable Intermediate Representation).
ModulesΒ§
- block π
- Implementations for
BlockContext
methods. - f16_
polyfill π - This module provides functionality for polyfilling
f16
input/output variables when theStorageInputOutput16
capability is not available or disabled. - 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
ConstantsΒ§
- BITS_
PER_ πBYTE