]> git.tdb.fi Git - libs/gl.git/blobdiff - source/texture1d.cpp
Revert changes if create_targets throws an exception
[libs/gl.git] / source / texture1d.cpp
index f700d013b5dc6a55f88196695b8a8ec83b2242b9..accd0e0c06c76a4bfe0b91f828cc840c5becff49 100644 (file)
@@ -1,3 +1,4 @@
+#include <msp/gl/extensions/msp_texture1d.h>
 #include "bindable.h"
 #include "error.h"
 #include "texture1d.h"
@@ -12,7 +13,9 @@ Texture1D::Texture1D():
        ifmt(RGB),
        width(0),
        allocated(0)
-{ }
+{
+       static Require _req(MSP_texture1D);
+}
 
 void Texture1D::storage(PixelFormat fmt, unsigned wd)
 {
@@ -47,6 +50,7 @@ void Texture1D::image(unsigned level, PixelFormat fmt, DataType type, const void
        allocated |= 1<<level;
        if(gen_mipmap && level==0)
        {
+               auto_generate_mipmap();
                for(; w; w>>=1, ++level) ;
                allocated |= (1<<level)-1;
        }