Don't validate attribute types match for gl_VertexID and gl_InstanceID.
TEST=conformance2/glsl3/no-attribute-vertex-shader
TEST=deqp/functional/gles3/instancedrendering
BUG=angleproject:2012
Change-Id: I234410fabf6a8fcd87040c8085ca5dce82fa8932
Reviewed-on: https://chromium-review.googlesource.com/559851
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/libANGLE/validationES.cpp b/src/libANGLE/validationES.cpp
index 8c95b21..3d4fa1f 100644
--- a/src/libANGLE/validationES.cpp
+++ b/src/libANGLE/validationES.cpp
@@ -755,6 +755,12 @@
for (const auto &shaderAttribute : program->getAttributes())
{
+ // gl_VertexID and gl_InstanceID are active attributes but don't have a bound attribute.
+ if (shaderAttribute.isBuiltIn())
+ {
+ continue;
+ }
+
GLenum shaderInputType = VariableComponentType(shaderAttribute.type);
const auto &attrib = vao->getVertexAttribute(shaderAttribute.location);