]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/texture1d.cpp
Check the flat qualifier from the correct member
[libs/gl.git] / source / core / texture1d.cpp
index d6aa1a347c7e974b43397ab595d8de7b0edd3ef8..ce5d3727fad5f260d274a4694561b77e40abf07b 100644 (file)
@@ -10,7 +10,7 @@ void Texture1D::storage(PixelFormat fmt, unsigned wd, unsigned lv)
 {
        if(width>0)
        {
-               if(fmt!=format || wd!=width || (lv && lv!=levels))
+               if(fmt!=format || wd!=width || (lv && lv!=n_levels))
                        throw incompatible_data("Texture1D::storage");
                return;
        }
@@ -19,9 +19,9 @@ void Texture1D::storage(PixelFormat fmt, unsigned wd, unsigned lv)
 
        set_format(fmt);
        width = wd;
-       levels = get_n_levels();
+       n_levels = count_levels(width);
        if(lv)
-               levels = min(levels, lv);
+               n_levels = min(n_levels, lv);
 
        allocate();
 }
@@ -35,7 +35,7 @@ void Texture1D::sub_image(unsigned level, unsigned x, unsigned wd, const void *d
 {
        if(width==0)
                throw invalid_operation("Texture1D::sub_image");
-       if(level>=levels || x>width || x+wd>width)
+       if(level>=n_levels || x>width || x+wd>width)
                throw out_of_range("Texture1D::sub_image");
 
        Texture1DBackend::sub_image(level, x, wd, data);
@@ -50,13 +50,6 @@ void Texture1D::image(const Graphics::Image &img, unsigned lv)
        image(0, img.get_pixels());
 }
 
-unsigned Texture1D::get_n_levels() const
-{
-       unsigned n = 0;
-       for(unsigned s=width; s; s>>=1, ++n) ;
-       return n;
-}
-
 unsigned Texture1D::get_level_size(unsigned level) const
 {
        return width>>level;