- [ ] `bitcast`: https://github.com/gfx-rs/wgpu/issues/7700 - [ ] `select` - [ ] `all` - [ ] `any` - [ ] `quantizeToF16` comparison - [x] `abs`: https://github.com/gfx-rs/wgpu/pull/4879 - [x] `min`: https://github.com/gfx-rs/wgpu/pull/5098 - [x] `max`: https://github.com/gfx-rs/wgpu/pull/5098 - [x] `clamp` - [x] `saturate`: https://github.com/gfx-rs/wgpu/pull/4879 trigonometry - [x] `cos`: https://github.com/gfx-rs/wgpu/pull/4879 - [x] `cosh`: https://github.com/gfx-rs/wgpu/pull/4879 - [x] `sin`: https://github.com/gfx-rs/wgpu/pull/4879 - [x] `sinh`: https://github.com/gfx-rs/wgpu/pull/4879 - [x] `tan`: https://github.com/gfx-rs/wgpu/pull/4879 - [x] `tanh`: https://github.com/gfx-rs/wgpu/pull/4879 - [x] `acos`: https://github.com/gfx-rs/wgpu/pull/4879 - [x] `acosh`: https://github.com/gfx-rs/wgpu/pull/4879 - [x] `asin`: https://github.com/gfx-rs/wgpu/pull/4879 - [x] `asinh`: https://github.com/gfx-rs/wgpu/pull/4879 - [x] `atan`: https://github.com/gfx-rs/wgpu/pull/4879 - [x] `atanh`: https://github.com/gfx-rs/wgpu/pull/4879 - [ ] `atan2` - [x] `radians`: https://github.com/gfx-rs/wgpu/pull/5098 - [x] `degrees`: https://github.com/gfx-rs/wgpu/pull/5098 decomposition - [x] `ceil`: https://github.com/gfx-rs/wgpu/pull/5098 - [x] `floor`: https://github.com/gfx-rs/wgpu/pull/5098 - [x] `round`: https://github.com/gfx-rs/wgpu/pull/4879 - [x] `fract`: https://github.com/gfx-rs/wgpu/pull/5098 - [x] `trunc`: https://github.com/gfx-rs/wgpu/pull/5098 - [ ] `modf` - [ ] `frexp` (used by CTS tests for other builtins, e.g. `sign`, as noted in #8942) - [ ] `ldexp` exponent - [x] `exp`: https://github.com/gfx-rs/wgpu/pull/5098 - [x] `exp2`: https://github.com/gfx-rs/wgpu/pull/5098 - [x] `log`: https://github.com/gfx-rs/wgpu/pull/5098 - [x] `log2`: https://github.com/gfx-rs/wgpu/pull/5098 - [x] `pow` geometry - [ ] `dot` - [ ] `cross` - [ ] `distance` - [ ] `length` - [ ] `normalize` - [ ] `faceForward` - [ ] `reflect` - [ ] `refract` computational - [x] `sign`: https://github.com/gfx-rs/wgpu/pull/5098 - [x] `fma`: https://github.com/gfx-rs/wgpu/pull/5098 - [ ] `mix` - [x] `step`: https://github.com/gfx-rs/wgpu/pull/4879 - [ ] `smoothstep` - [x] `sqrt`: https://github.com/gfx-rs/wgpu/pull/4879 - [x] `inverseSqrt`: https://github.com/gfx-rs/wgpu/pull/5098 - [ ] `transpose` - [ ] `determinant` bits - [x] `countTrailingZeros`: https://github.com/gfx-rs/wgpu/pull/5098 - [x] `countLeadingZeros`: https://github.com/gfx-rs/wgpu/pull/5098 - [x] `countOneBits`: https://github.com/gfx-rs/wgpu/pull/5098 - [x] `reverseBits`: https://github.com/gfx-rs/wgpu/pull/5098 - [ ] `extractBits` - [ ] `insertBits`: (has partial evaluation cases, see #9152) - [x] `firstTrailingBit`: https://github.com/gfx-rs/wgpu/pull/5101 - [x] `firstLeadingBit`: https://github.com/gfx-rs/wgpu/pull/5101 data packing - [ ] `pack4x8snorm` - [ ] `pack4x8unorm` - [ ] `pack2x16snorm` - [ ] `pack2x16unorm` - [ ] `pack2x16float` - [ ] `pack4xI8` - [ ] `pack4xU8` - [ ] `pack4xI8Clamp` - [ ] `pack4xU8Clamp` data unpacking - [ ] `unpack4x8snorm` - [ ] `unpack4x8unorm` - [ ] `unpack2x16snorm` - [ ] `unpack2x16unorm` - [ ] `unpack2x16float` - [ ] `unpack4xI8` - [ ] `unpack4xI8` wgpu extensions (consider making a separate meta issue for this group if it grows) - [ ] #8972 <!-- Constant evaluation for i64 and u64 -->
bitcast: Implementbitcastin constant evaluation #7700selectallanyquantizeToF16comparison
abs: Impl. more component-wise built-ins in const. eval. #4879min: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098max: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098clampsaturate: Impl. more component-wise built-ins in const. eval. #4879trigonometry
cos: Impl. more component-wise built-ins in const. eval. #4879cosh: Impl. more component-wise built-ins in const. eval. #4879sin: Impl. more component-wise built-ins in const. eval. #4879sinh: Impl. more component-wise built-ins in const. eval. #4879tan: Impl. more component-wise built-ins in const. eval. #4879tanh: Impl. more component-wise built-ins in const. eval. #4879acos: Impl. more component-wise built-ins in const. eval. #4879acosh: Impl. more component-wise built-ins in const. eval. #4879asin: Impl. more component-wise built-ins in const. eval. #4879asinh: Impl. more component-wise built-ins in const. eval. #4879atan: Impl. more component-wise built-ins in const. eval. #4879atanh: Impl. more component-wise built-ins in const. eval. #4879atan2radians: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098degrees: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098decomposition
ceil: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098floor: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098round: Impl. more component-wise built-ins in const. eval. #4879fract: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098trunc: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098modffrexp(used by CTS tests for other builtins, e.g.sign, as noted in Fix constant evaluation of sign(0.0f) #8942)ldexpexponent
exp: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098exp2: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098log: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098log2: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098powgeometry
dotcrossdistancelengthnormalizefaceForwardreflectrefractcomputational
sign: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098fma: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098mixstep: Impl. more component-wise built-ins in const. eval. #4879smoothstepsqrt: Impl. more component-wise built-ins in const. eval. #4879inverseSqrt: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098transposedeterminantbits
countTrailingZeros: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098countLeadingZeros: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098countOneBits: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098reverseBits: Impl. const. eval. for yet more trivial component-wise numeric built-ins in WGSL #5098extractBitsinsertBits: (has partial evaluation cases, see Some builtins are missing compile-time error checks when only some args are const #9152)firstTrailingBit: Impl. const. eval. for "first bit" numeric built-ins #5101firstLeadingBit: Impl. const. eval. for "first bit" numeric built-ins #5101data packing
pack4x8snormpack4x8unormpack2x16snormpack2x16unormpack2x16floatpack4xI8pack4xU8pack4xI8Clamppack4xU8Clampdata unpacking
unpack4x8snormunpack4x8unormunpack2x16snormunpack2x16unormunpack2x16floatunpack4xI8unpack4xI8wgpu extensions (consider making a separate meta issue for this group if it grows)
i64andu64#8972