]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/texture.cpp
Remove automatic mipmap generation from the public interface of Texture
[libs/gl.git] / source / core / texture.cpp
index b40046705b32bdfbecd459b56ce5e9b7c81ae4d9..5c82dbe535d91a3036c4eed0f0f3e4d93a2e2fdb 100644 (file)
@@ -133,11 +133,6 @@ void Texture::set_parameter_i(GLenum param, int value) const
                glTexParameteri(target, param, value);
 }
 
-bool Texture::can_generate_mipmap()
-{
-       return EXT_framebuffer_object;
-}
-
 void Texture::generate_mipmap()
 {
        // glGenerateMipmap is defined here
@@ -152,14 +147,6 @@ void Texture::generate_mipmap()
        }
 }
 
-void Texture::set_auto_generate_mipmap(bool gm)
-{
-       if(gm)
-               static Require _req(EXT_framebuffer_object);
-
-       auto_gen_mipmap = gm;
-}
-
 void Texture::load_image(const string &fn, bool)
 {
        load_image(fn, 0U);
@@ -235,6 +222,12 @@ void Texture::Loader::init()
        add("mipmap_levels", &Loader::mipmap_levels);
 }
 
+void Texture::Loader::finish()
+{
+       if(obj.auto_gen_mipmap)
+               obj.generate_mipmap();
+}
+
 void Texture::Loader::load_external_image(Graphics::Image &img, const string &fn)
 {
        RefPtr<IO::Seekable> io = get_collection().open_raw(fn);
@@ -269,7 +262,7 @@ void Texture::Loader::external_image_common(const string &fn)
 
 void Texture::Loader::generate_mipmap(bool gm)
 {
-       obj.set_auto_generate_mipmap(gm);
+       obj.auto_gen_mipmap = gm;
 }
 
 void Texture::Loader::image_data(const string &data)