Validate that structure names match when linking uniforms.

GLSL 1.017 4.2.4:
Structures must have the same name, sequence of type names, and
type definitions, and field names to be considered the same type.

TEST=conformance/glsl/misc/shaders-with-uniform-structs
BUG=angleproejct:2013

Change-Id: Ieedaaca2d28ef4e1cc0b5480f413ebd513c1dc1f
Reviewed-on: https://chromium-review.googlesource.com/524036
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/Program.cpp b/src/libANGLE/Program.cpp
index 5182ec8..c90127c 100644
--- a/src/libANGLE/Program.cpp
+++ b/src/libANGLE/Program.cpp
@@ -2360,6 +2360,12 @@
         infoLog << "Precisions for " << variableName << " differ between vertex and fragment shaders";
         return false;
     }
+    if (vertexVariable.structName != fragmentVariable.structName)
+    {
+        infoLog << "Structure names for " << variableName
+                << " differ between vertex and fragment shaders";
+        return false;
+    }
 
     if (vertexVariable.fields.size() != fragmentVariable.fields.size())
     {