[−][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. |