]> git.tdb.fi Git - libs/gl.git/blobdiff - source/texture2d.cpp
Clear Texture2D's allocation flags when unloading
[libs/gl.git] / source / texture2d.cpp
index dac671fdfa52fcae265d088b2cb9d14f918a9a56..47e0c7434d0ef56c7fbf892b0ee45a31f4552710 100644 (file)
@@ -188,6 +188,7 @@ void Texture2D::unload()
 {
        glDeleteTextures(1, &id);
        id = 0;
+       allocated = 0;
        // TODO check which params actually need refreshing
        dirty_params = -1;
 }
@@ -270,7 +271,12 @@ bool Texture2D::AsyncLoader::process()
                }
 
                if(!texture.id)
-                       glGenTextures(1, &texture.id);
+               {
+                       if(ARB_direct_state_access)
+                               glCreateTextures(texture.target, 1, &texture.id);
+                       else
+                               glGenTextures(1, &texture.id);
+               }
                texture.image(image, srgb_conversion, true);
        }