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())
{