Update the atan2 definition in shaders

The old approach wasn't compatible with Metal's atan2, and using an acos() is simpler anyway.

Diffs=
e042c0af4c Update the atan2 definition in shaders (#8883)

Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
diff --git a/.rive_head b/.rive_head
index 93df727..a210b0c 100644
--- a/.rive_head
+++ b/.rive_head
@@ -1 +1 @@
-2240d091f8d55ae4ef75409109684d9ca68b2450
+e042c0af4ce3f444ce8447595e88133961425ffa
diff --git a/renderer/src/shaders/common.glsl b/renderer/src/shaders/common.glsl
index c94c26c..959c903 100644
--- a/renderer/src/shaders/common.glsl
+++ b/renderer/src/shaders/common.glsl
@@ -130,13 +130,9 @@
 
 INLINE float atan2(float2 v)
 {
-    float bias = .0;
-    if (abs(v.x) > abs(v.y))
-    {
-        v = float2(v.y, -v.x);
-        bias = PI / 2.;
-    }
-    return atan(v.y, v.x) + bias;
+    v = normalize(v);
+    float theta = acos(clamp(v.x, -1., 1.));
+    return v.y >= .0 ? theta : -theta;
 }
 
 INLINE half4 premultiply(half4 color)
diff --git a/renderer/src/shaders/hlsl.glsl b/renderer/src/shaders/hlsl.glsl
index 5cfdf4b..382791a 100644
--- a/renderer/src/shaders/hlsl.glsl
+++ b/renderer/src/shaders/hlsl.glsl
@@ -334,8 +334,6 @@
     return vals.r;
 }
 
-INLINE float atan(float y, float x) { return $atan2(y, x); }
-
 INLINE float2x2 inverse(float2x2 m)
 {
     float2x2 adjoint = float2x2(m[1][1], -m[0][1], -m[1][0], m[0][0]);
diff --git a/renderer/src/shaders/metal.glsl b/renderer/src/shaders/metal.glsl
index f7807fa..fdf3611 100644
--- a/renderer/src/shaders/metal.glsl
+++ b/renderer/src/shaders/metal.glsl
@@ -52,7 +52,6 @@
 #define greaterThan(A, B) ((A) > (B))
 #define greaterThanEqual(A, B) ((A) >= (B))
 #define MUL(A, B) ((A) * (B))
-#define atan $atan2
 #define inversesqrt $rsqrt
 
 #define UNIFORM_BLOCK_BEGIN(IDX, NAME)                                         \
diff --git a/renderer/src/shaders/rhi.glsl b/renderer/src/shaders/rhi.glsl
index da7022b..f36e961 100644
--- a/renderer/src/shaders/rhi.glsl
+++ b/renderer/src/shaders/rhi.glsl
@@ -309,8 +309,6 @@
     return vals.r;
 }
 
-INLINE float atan(float y, float x) { return $atan2(y, x); }
-
 INLINE float2x2 inverse(float2x2 m)
 {
     float2x2 adjoint = float2x2(m[1][1], -m[0][1], -m[1][0], m[0][0]);