ModulesΒ§
- workgroup_
mem_ πinit - Initializing workgroup variables is more tricky for Metal because we have to deal with atomics at the type-level (which donβt have a copy constructor).
StructsΒ§
- Array
Size πMember - Wrapper for generating
struct _mslBufferSizes
member names for runtime-sized array lengths. - Clamped
Lod π - Wrapper for identifier names for clamped level-of-detail values
- Expression
Context π - Reinterpreted π
- Wrapper for reinterpreted variables using
as_type<target_type>(orig)
. - Statement
Context π - Texel
Address π - Values needed to select a particular texel for
ImageLoad
andImageStore
. - Type
Context π - Typed
Global πVariable - Writer
EnumsΒ§
- Function
Origin π - Level
OfDetail π - A level of detail argument.
- Wrapped
Function π
ConstantsΒ§
- ABS_
FUNCTION π - ARGUMENT_
BUFFER_ πWRAPPER_ STRUCT - For some reason, Metal does not let you have
metal::texture<..>*
as a buffer argument. However, if you put that texture inside a struct, everything is totally fine. This baffles me to no end. - ATOMIC_
COMP_ πEXCH_ FUNCTION - ATOMIC_
REFERENCE π - CLAMPED_
LOD_ πLOAD_ PREFIX - Prefix for cached clamped level-of-detail values for
ImageLoad
expressions. - DIV_
FUNCTION π - EXTERNAL_
TEXTURE_ πWRAPPER_ STRUCT - Name of the struct that is declared to wrap the 3 textures and parameters
buffer that
crate::ImageClass::External
variables are lowered to, allowing them to be conveniently passed to user-defined or wrapper functions. The struct is declared inWriter::write_type_defs
. - F2I32_
FUNCTION π - F2I64_
FUNCTION π - F2U32_
FUNCTION π - F2U64_
FUNCTION π - FREXP_
FUNCTION π - IMAGE_
LOAD_ πEXTERNAL_ FUNCTION - IMAGE_
SAMPLE_ πBASE_ CLAMP_ TO_ EDGE_ FUNCTION - IMAGE_
SIZE_ πEXTERNAL_ FUNCTION - MODF_
FUNCTION π - MOD_
FUNCTION π - NAMESPACE π
- NEG_
FUNCTION π - RAY_
QUERY_ πFIELD_ INTERSECTION - RAY_
QUERY_ πFIELD_ INTERSECTOR - RAY_
QUERY_ πFIELD_ READY - RAY_
QUERY_ πFUN_ MAP_ INTERSECTION - RAY_
QUERY_ πMODERN_ SUPPORT - RAY_
QUERY_ πTYPE - REINTERPRET_
PREFIX π - Prefix for reinterpreted expressions using
as_type<T>(...)
. - RT_
NAMESPACE π - WRAPPED_
ARRAY_ πFIELD
TraitsΒ§
- Name
KeyExt π
FunctionsΒ§
- needs_
array_ πlength - put_
numeric_ πtype - Write the Metal name for a Naga numeric type: scalar, vector, or matrix.
- scalar_
is_ πint - separate π
- should_
pack_ πstruct_ member
Type AliasesΒ§
- Backend
Result π - Shorthand result used internally by the backend