Accept mismatching auxiliary interpolations.

The ES3.1 spec, and discussion on Khronos.org, confirm that dEQP is
correct in accepting mismatching centroid specifiers in shader
linkage. Mismatching flat/smooth is still a link error.

Fixes:
shaders.linkage.varying.rules.differing_interpolation_2

Change-Id: I3016f4147e7c1b16b02371ee95866c8daf826212
Reviewed-on: https://chromium-review.googlesource.com/251205
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/Program.cpp b/src/libANGLE/Program.cpp
index e17b080..6956f33 100644
--- a/src/libANGLE/Program.cpp
+++ b/src/libANGLE/Program.cpp
@@ -1543,7 +1543,7 @@
         return false;
     }
 
-    if (vertexVarying.interpolation != fragmentVarying.interpolation)
+    if (!sh::InterpolationTypesMatch(vertexVarying.interpolation, fragmentVarying.interpolation))
     {
         infoLog.append("Interpolation types for %s differ between vertex and fragment shaders", varyingName.c_str());
         return false;