Fix: safe_normalize() not defined for float2 on Metal

This commit is contained in:
Weizhen Huang 2024-06-29 07:56:46 +02:00
parent 4162aeee5f
commit 4c5c5e2fd7

@ -164,6 +164,12 @@ ccl_device_inline float len_squared(const float2 a)
return dot(a, a);
}
ccl_device_inline float2 safe_normalize(const float2 a)
{
float t = len(a);
return (t != 0.0f) ? a / t : a;
}
#if !defined(__KERNEL_METAL__)
ccl_device_inline float distance(const float2 a, const float2 b)
{
@ -186,12 +192,6 @@ ccl_device_inline float2 normalize_len(const float2 a, ccl_private float *t)
return a / (*t);
}
ccl_device_inline float2 safe_normalize(const float2 a)
{
float t = len(a);
return (t != 0.0f) ? a / t : a;
}
ccl_device_inline float2 min(const float2 a, const float2 b)
{
return make_float2(min(a.x, b.x), min(a.y, b.y));