StateManagerGL: Remove setGenericShaderState.

We can mutate the BitSetIterator as it clears dirty bits. This removes
the risk of doing a double state update. Improves the proformance of
the GL back-end state update.

Also do an early-out before calling syncDrawArraysState.

Bug: angleproject:2763
Change-Id: Idd25bdd67a6aceff05529a533260b661b07c2928
Reviewed-on: https://chromium-review.googlesource.com/c/1262740
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/gl/VertexArrayGL.cpp b/src/libANGLE/renderer/gl/VertexArrayGL.cpp
index 138303f..0390782 100644
--- a/src/libANGLE/renderer/gl/VertexArrayGL.cpp
+++ b/src/libANGLE/renderer/gl/VertexArrayGL.cpp
@@ -104,11 +104,11 @@
     }
 }
 
-angle::Result VertexArrayGL::syncDrawArraysState(const gl::Context *context,
-                                                 const gl::AttributesMask &activeAttributesMask,
-                                                 GLint first,
-                                                 GLsizei count,
-                                                 GLsizei instanceCount) const
+angle::Result VertexArrayGL::syncClientSideData(const gl::Context *context,
+                                                const gl::AttributesMask &activeAttributesMask,
+                                                GLint first,
+                                                GLsizei count,
+                                                GLsizei instanceCount) const
 {
     return syncDrawState(context, activeAttributesMask, first, count, GL_NONE, nullptr,
                          instanceCount, false, nullptr);