Add GLSL Fract support.

This CL adds Fract into the type determiner.

Bug: tint:5
Change-Id: I616d3259ca903b82339f49317f27966265c3f1d5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/19946
Reviewed-by: David Neto <dneto@google.com>
diff --git a/src/type_determiner.cc b/src/type_determiner.cc
index 121a790..2693925 100644
--- a/src/type_determiner.cc
+++ b/src/type_determiner.cc
@@ -577,7 +577,8 @@
   }
 
   if (name == "round" || name == "roundeven" || name == "trunc" ||
-      name == "fabs" || name == "fsign" || name == "floor" || name == "ceil") {
+      name == "fabs" || name == "fsign" || name == "floor" || name == "ceil" ||
+      name == "fract") {
     if (params.size() != 1) {
       error_ = "incorrect number of parameters for " + name +
                ". Expected 1 got " + std::to_string(params.size());
@@ -603,6 +604,8 @@
       *id = GLSLstd450Floor;
     } else if (name == "ceil") {
       *id = GLSLstd450Ceil;
+    } else if (name == "fract") {
+      *id = GLSLstd450Fract;
     }
 
     return params[0]->result_type();
diff --git a/src/type_determiner_test.cc b/src/type_determiner_test.cc
index bf183b9..1a7db6f 100644
--- a/src/type_determiner_test.cc
+++ b/src/type_determiner_test.cc
@@ -1594,7 +1594,8 @@
                                          GLSLData{"fabs", GLSLstd450FAbs},
                                          GLSLData{"fsign", GLSLstd450FSign},
                                          GLSLData{"floor", GLSLstd450Floor},
-                                         GLSLData{"ceil", GLSLstd450Ceil}));
+                                         GLSLData{"ceil", GLSLstd450Ceil},
+                                         GLSLData{"fract", GLSLstd450Fract}));
 
 }  // namespace
 }  // namespace tint