diff options
Diffstat (limited to 'src/mbgl/util/texture_pool.cpp')
-rw-r--r-- | src/mbgl/util/texture_pool.cpp | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/src/mbgl/util/texture_pool.cpp b/src/mbgl/util/texture_pool.cpp deleted file mode 100644 index d4afb1f868..0000000000 --- a/src/mbgl/util/texture_pool.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include <mbgl/util/texture_pool.hpp> - -#include <mbgl/util/gl_object_store.hpp> -#include <mbgl/util/thread_context.hpp> - -#include <vector> - -const GLsizei TextureMax = 64; - -using namespace mbgl; - -GLuint TexturePool::getTextureID() { - if (texture_ids.empty()) { - GLuint new_texture_ids[TextureMax]; - MBGL_CHECK_ERROR(glGenTextures(TextureMax, new_texture_ids)); - for (GLuint id = 0; id < TextureMax; id++) { - texture_ids.insert(new_texture_ids[id]); - } - } - - GLuint id = 0; - - if (!texture_ids.empty()) { - std::set<GLuint>::iterator id_iterator = texture_ids.begin(); - id = *id_iterator; - texture_ids.erase(id_iterator); - } - - return id; -} - -void TexturePool::removeTextureID(GLuint texture_id) { - bool needs_clear = false; - - texture_ids.insert(texture_id); - - if (texture_ids.size() > TextureMax) { - needs_clear = true; - } - - if (needs_clear) { - // TODO: We need to find a better way to deal with texture pool cleanup -// clearTextureIDs(); - } -} - -void TexturePool::clearTextureIDs() { - auto getGLObjectStore = util::ThreadContext::getGLObjectStore(); - for (auto texture : texture_ids) { - getGLObjectStore->abandonTexture(texture); - } - texture_ids.clear(); -} |