]> git.sesse.net Git - movit/blobdiff - resource_pool.cpp
Hack around FBO/VAO sharability issues.
[movit] / resource_pool.cpp
index d322a1764f96ad43a8557f947127b8674262d8f6..201b73c73b7a9ee4855149886a2ec01bc75a6469 100644 (file)
@@ -58,8 +58,9 @@ ResourcePool::~ResourcePool()
                GLuint free_fbo_num = *freelist_it;
                assert(fbo_formats.count(free_fbo_num) != 0);
                fbo_formats.erase(free_fbo_num);
-               glDeleteFramebuffers(1, &free_fbo_num);
-               check_error();
+               // TODO: We currently leak due to FBO sharability issues.
+               // glDeleteFramebuffers(1, &free_fbo_num);
+               // check_error();
        }
        assert(fbo_formats.empty());
 }
@@ -263,7 +264,8 @@ void ResourcePool::release_2d_texture(GLuint texture_num)
                        assert(format_it != fbo_formats.end());
                        if (format_it->second.texture_num == free_texture_num) {
                                fbo_formats.erase(fbo_num);
-                               glDeleteFramebuffers(1, &fbo_num);
+                               // TODO: We currently leak due to FBO sharability issues.
+                               // glDeleteFramebuffers(1, &fbo_num);
                                fbo_freelist.erase(fbo_freelist_it++);
                        } else {
                                ++fbo_freelist_it;
@@ -330,8 +332,9 @@ void ResourcePool::release_fbo(GLuint fbo_num)
                fbo_freelist.pop_front();
                assert(fbo_formats.count(free_fbo_num) != 0);
                fbo_formats.erase(free_fbo_num);
-               glDeleteFramebuffers(1, &free_fbo_num);
-               check_error();
+               // TODO: We currently leak due to FBO sharability issues.
+               // glDeleteFramebuffers(1, &free_fbo_num);
+               // check_error();
        }
        pthread_mutex_unlock(&lock);
 }