vec2 mix(vec2 x, vec2 y, vec2 a);
vec3 mix(vec3 x, vec3 y, vec3 a);
vec4 mix(vec4 x, vec4 y, vec4 a);
-float mix(float x, float y, float a) { return mix(x, y, float(a)); }
vec2 mix(vec2 x, vec2 y, float a) { return mix(x, y, vec2(a)); }
vec3 mix(vec3 x, vec3 y, float a) { return mix(x, y, vec3(a)); }
vec4 mix(vec4 x, vec4 y, float a) { return mix(x, y, vec4(a)); }
("T clamp(T x, T minVal, T maxVal)", arithmetictypes),
("T clamp(T x, T::Base minVal, T::Base maxVal)", "clamp(x, T(minVal), T(maxVal))", arithmeticvectypes),
("T mix(T x, T y, T a)", floattypes),
- ("T mix(T x, T y, T::Base a)", "mix(x, y, T(a))", floattypes),
+ ("T mix(T x, T y, T::Base a)", "mix(x, y, T(a))", floatvectypes),
("T mix(T x, T y, bool[T::Dim] a)", arithmetictypes),
("T step(T edge, T x)", floattypes),
("T step(T::Base edge, T x)", "step(T(edge), x)", floatvectypes),