X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=resource_pool.h;h=1b9515c09f4cfe21dc2db94f1f4c818ee84b4c4d;hp=2324abc48749993f8a79a276f40081a958ef3d56;hb=eb8cf910538590de513a07ab02ea79605b912192;hpb=65c6584f77bff0af0c8e38d1ac90298bcd55e9ac diff --git a/resource_pool.h b/resource_pool.h index 2324abc..1b9515c 100644 --- a/resource_pool.h +++ b/resource_pool.h @@ -197,7 +197,7 @@ private: // By default, will only contain the program itself, but due to cloning // (see use_glsl_program()), may grow. Programs are taken off this list // while they are in use (by use_glsl_program()). - std::map > program_instances; + std::map> program_instances; // For each program, the master program that created it // (inverse of program_instances). @@ -211,6 +211,7 @@ private: struct Texture2D { GLint internal_format; GLsizei width, height; + GLsync no_reuse_before = nullptr; }; // A mapping from texture number to format details. This is filled if the @@ -245,7 +246,7 @@ private: // the last element will be deleted. // // We store iterators directly into for efficiency. - std::map > fbo_freelist; + std::map> fbo_freelist; // Very similar, for VAOs. struct VAO { @@ -255,7 +256,7 @@ private: }; std::map, VAO> vao_formats; typedef std::map, VAO>::iterator VAOFormatIterator; - std::map > vao_freelist; + std::map> vao_freelist; // See the caveats at the constructor. static size_t estimate_texture_size(const Texture2D &texture_format);