[−][src]Crate naga
Universal shader translator.
The central structure of the crate is Module.
To improve performance and reduce memory usage, most structures are stored
in an Arena, and can be retrieved using the corresponding Handle.
Modules
| back | Functions which export shader modules into binary and text formats. |
| front | Parsers which load shaders into memory. |
| proc | Module processing functionality. |
Structs
| Arena | An arena holding some kind of component (e.g., type, constant, instruction, etc.) that can be referenced. |
| Constant | Constant value. |
| EntryPoint | Exported function, to be run at a certain stage in the pipeline. |
| FallThrough | Marker type, used for falling through in a switch statement. |
| Function | A function defined in the module. |
| GlobalUse | Indicates how a global variable is used. |
| GlobalVariable | Variable defined at module level. |
| Handle | A strongly typed reference to a SPIR-V element. |
| Header | Metadata for a given module. |
| ImageFlags | Flags describing an image. |
| LocalVariable | Variable defined at function level. |
| Module | Shader module. |
| StructMember | Member of a user-defined structure. |
| Type | A data type declared in the module. |
Enums
| ArraySize | Size of an array. |
| BinaryOperator | Operation that can be applied on two values. |
| Binding | Describes how an input/output variable is to be bound. |
| BuiltIn | Built-in inputs and outputs. |
| ConstantInner | Additional information, dependendent on the kind of constant. |
| DerivativeAxis | Axis on which to compute a derivative. |
| Expression | An expression that can be evaluated to obtain a value. |
| FunctionOrigin | Origin of a function to call. |
| ImageDimension | The number of dimensions an image has. |
| IntrinsicFunction | Built-in shader function. |
| MemberOrigin | Describes where a struct member is placed. |
| ScalarKind | Primitive type for a scalar. |
| ShaderStage | Stage of the programmable pipeline. |
| Statement | Instructions which make up an executable block. |
| StorageClass | Class of storage for variables. |
| TypeInner | Enum with additional information, depending on the kind of type. |
| UnaryOperator | Operation that can be applied on a single value. |
| VectorSize | Number of components in a vector. |
Type Definitions
| Block | A code block is just a vector of statements. |
| Bytes | Number of bytes. |
| FastHashMap | Hash map that is faster but not resilient to DoS attacks. |
| FastHashSet | Hash set that is faster but not resilient to DoS attacks. |