diff options
Diffstat (limited to 'src/mbgl/gl/attribute.hpp')
-rw-r--r-- | src/mbgl/gl/attribute.hpp | 18 |
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> |