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 🔒 - F2I32_
FUNCTION 🔒 - F2I64_
FUNCTION 🔒 - F2U32_
FUNCTION 🔒 - F2U64_
FUNCTION 🔒 - FREXP_
FUNCTION 🔒 - IMAGE_
SAMPLE_ 🔒BASE_ CLAMP_ TO_ EDGE_ 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§
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