Revert "Revert "Implement dirty bits acceleration for VertexArrayGL.""
Should be fixed with the Iterator change.
BUG=angleproject:1040
This reverts commit 5b21ed5fd030d33ae379b8cc493746244d2928b4.
Change-Id: Ibb77775b6b2ce5a49cee7dd81efc62d8c3ba3c62
Reviewed-on: https://chromium-review.googlesource.com/293901
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/gl/ProgramGL.cpp b/src/libANGLE/renderer/gl/ProgramGL.cpp
index bb3571d..ddf7216 100644
--- a/src/libANGLE/renderer/gl/ProgramGL.cpp
+++ b/src/libANGLE/renderer/gl/ProgramGL.cpp
@@ -207,7 +207,7 @@
// TODO: determine attribute precision
setShaderAttribute(static_cast<size_t>(i), attributeType, GL_NONE, attributeName, attributeSize, location);
- mActiveAttributeLocations.push_back(location);
+ mActiveAttributesMask.set(location);
}
return LinkResult(true, gl::Error(GL_NO_ERROR));
@@ -445,7 +445,7 @@
mSamplerUniformMap.clear();
mSamplerBindings.clear();
- mActiveAttributeLocations.clear();
+ mActiveAttributesMask.reset();
}
GLuint ProgramGL::getProgramID() const
@@ -458,9 +458,9 @@
return mSamplerBindings;
}
-const std::vector<GLuint> &ProgramGL::getActiveAttributeLocations() const
+const gl::AttributesMask &ProgramGL::getActiveAttributesMask() const
{
- return mActiveAttributeLocations;
+ return mActiveAttributesMask;
}
}