Understand the three phases of WGSL expression evaluation
mainWGSL expressions are evaluated at different stages of a shader's lifecycle. Understanding these phases is critical for knowing when a value is finalized and what types of sub-expressions are available to you.
- Shader creation time: Finalizes
const-expressions. These include literals,@constfunction calls, and values declared asconst. - Pipeline creation time: Finalizes
override-expressions. These include everything in aconst-expression, plusoverride-declared values and values provided viaGPUProgrammablestage.constants. - Shader execution time: Finalizes
runtime-expressions. These include everything in anoverride-expression, pluslet-declared values, any function call, variable contents, and references or pointers to variables.