summaryrefslogtreecommitdiff
path: root/src/mbgl/gl/attribute.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/gl/attribute.hpp')
-rw-r--r--src/mbgl/gl/attribute.hpp18
1 files changed, 2 insertions, 16 deletions
diff --git a/src/mbgl/gl/attribute.hpp b/src/mbgl/gl/attribute.hpp
index a85b49c6a5..2d1d2386eb 100644
--- a/src/mbgl/gl/attribute.hpp
+++ b/src/mbgl/gl/attribute.hpp
@@ -8,7 +8,6 @@
#include <cstddef>
#include <vector>
-#include <set>
#include <functional>
#include <string>
#include <array>
@@ -214,8 +213,7 @@ const std::size_t Vertex<A1, A2, A3, A4, A5>::attributeOffsets[5] = {
} // namespace detail
-void bindAttributeLocation(ProgramID, AttributeLocation, const char * name);
-std::set<std::string> getActiveAttributes(ProgramID);
+AttributeLocation bindAttributeLocation(ProgramID, AttributeLocation, const char * name);
template <class... As>
class Attributes {
@@ -235,19 +233,7 @@ public:
static constexpr std::size_t Index = TypeIndex<A, As...>::value;
static Locations bindLocations(const ProgramID& id) {
- std::set<std::string> activeAttributes = getActiveAttributes(id);
-
- AttributeLocation location = 0;
- auto maybeBindLocation = [&](const char* name) -> optional<AttributeLocation> {
- if (activeAttributes.count(name)) {
- bindAttributeLocation(id, location, name);
- return location++;
- } else {
- return {};
- }
- };
-
- return Locations { maybeBindLocation(As::name())... };
+ return Locations { bindAttributeLocation(id, Index<As>, As::name())... };
}
template <class Program>