GLSL: implement atan2.

GLSL has no atan2() instrinsic, but a 2-parameter overloaded atan()
instead.

Bug: tint:1222
Change-Id: I368b3989117cd329fea1020cd941daa0a69525cd
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/66360
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/src/writer/glsl/generator_impl.cc b/src/writer/glsl/generator_impl.cc
index 55b5098..91fb6dc 100644
--- a/src/writer/glsl/generator_impl.cc
+++ b/src/writer/glsl/generator_impl.cc
@@ -1174,7 +1174,6 @@
     case sem::IntrinsicType::kAny:
     case sem::IntrinsicType::kAsin:
     case sem::IntrinsicType::kAtan:
-    case sem::IntrinsicType::kAtan2:
     case sem::IntrinsicType::kCeil:
     case sem::IntrinsicType::kClamp:
     case sem::IntrinsicType::kCos:
@@ -1209,6 +1208,8 @@
     case sem::IntrinsicType::kTranspose:
     case sem::IntrinsicType::kTrunc:
       return intrinsic->str();
+    case sem::IntrinsicType::kAtan2:
+      return "atan";
     case sem::IntrinsicType::kCountOneBits:
       return "countbits";
     case sem::IntrinsicType::kDpdx:
diff --git a/src/writer/glsl/generator_impl_import_test.cc b/src/writer/glsl/generator_impl_import_test.cc
index 6e6ee73..9f4dddf 100644
--- a/src/writer/glsl/generator_impl_import_test.cc
+++ b/src/writer/glsl/generator_impl_import_test.cc
@@ -145,7 +145,7 @@
 }
 INSTANTIATE_TEST_SUITE_P(GlslGeneratorImplTest_Import,
                          GlslImportData_DualParam_ScalarTest,
-                         testing::Values(GlslImportData{"atan2", "atan2"},
+                         testing::Values(GlslImportData{"atan2", "atan"},
                                          GlslImportData{"distance", "distance"},
                                          GlslImportData{"max", "max"},
                                          GlslImportData{"min", "min"},
@@ -169,7 +169,7 @@
 }
 INSTANTIATE_TEST_SUITE_P(GlslGeneratorImplTest_Import,
                          GlslImportData_DualParam_VectorTest,
-                         testing::Values(GlslImportData{"atan2", "atan2"},
+                         testing::Values(GlslImportData{"atan2", "atan"},
                                          GlslImportData{"cross", "cross"},
                                          GlslImportData{"distance", "distance"},
                                          GlslImportData{"max", "max"},
diff --git a/src/writer/glsl/generator_impl_intrinsic_test.cc b/src/writer/glsl/generator_impl_intrinsic_test.cc
index fc8183b..35333de 100644
--- a/src/writer/glsl/generator_impl_intrinsic_test.cc
+++ b/src/writer/glsl/generator_impl_intrinsic_test.cc
@@ -192,7 +192,7 @@
         IntrinsicData{IntrinsicType::kAny, ParamType::kBool, "any"},
         IntrinsicData{IntrinsicType::kAsin, ParamType::kF32, "asin"},
         IntrinsicData{IntrinsicType::kAtan, ParamType::kF32, "atan"},
-        IntrinsicData{IntrinsicType::kAtan2, ParamType::kF32, "atan2"},
+        IntrinsicData{IntrinsicType::kAtan2, ParamType::kF32, "atan"},
         IntrinsicData{IntrinsicType::kCeil, ParamType::kF32, "ceil"},
         IntrinsicData{IntrinsicType::kClamp, ParamType::kF32, "clamp"},
         IntrinsicData{IntrinsicType::kClamp, ParamType::kU32, "clamp"},