]> git.sesse.net Git - movit/blobdiff - resource_pool.cpp
Propagate size correctly across effects that change output size.
[movit] / resource_pool.cpp
index 39af866bafd317319f1284d5b7ab218466749db3..7f813765c53ac1dd47c21d69dfd9bc552eb1b89c 100644 (file)
@@ -294,8 +294,8 @@ void ResourcePool::release_2d_texture(GLuint texture_num)
        texture_freelist_bytes += estimate_texture_size(texture_formats[texture_num]);
 
        while (texture_freelist_bytes > texture_freelist_max_bytes) {
-               GLuint free_texture_num = texture_freelist.front();
-               texture_freelist.pop_front();
+               GLuint free_texture_num = texture_freelist.back();
+               texture_freelist.pop_back();
                assert(texture_formats.count(free_texture_num) != 0);
                texture_freelist_bytes -= estimate_texture_size(texture_formats[free_texture_num]);
                texture_formats.erase(free_texture_num);
@@ -461,6 +461,9 @@ size_t ResourcePool::estimate_texture_size(const Texture2D &texture_format)
        case GL_R16F:
                bytes_per_pixel = 2;
                break;
+       case GL_RG8:
+               bytes_per_pixel = 2;
+               break;
        case GL_R8:
                bytes_per_pixel = 1;
                break;