]> git.tdb.fi Git - libs/gl.git/blobdiff - source/texture3d.cpp
Prefer sized internal formats when possible
[libs/gl.git] / source / texture3d.cpp
index 8cb26e7f76713bf44932f25744aea5d31be4defd..5c9f009c0d5eb6d798a06b9a64fd783341430e38 100644 (file)
@@ -37,12 +37,15 @@ void Texture3D::storage(PixelFormat fmt, unsigned wd, unsigned ht, unsigned dp)
                throw invalid_operation("Texture3D::storage");
        if(wd==0 || ht==0 || dp==0)
                throw invalid_argument("Texture3D::storage");
+
+       if(MSP_sized_internal_formats)
+               fmt = get_sized_pixelformat(fmt);
        require_pixelformat(fmt);
 
+       ifmt = fmt;
        width = wd;
        height = ht;
        depth = dp;
-       ifmt = fmt;
 }
 
 void Texture3D::allocate(unsigned level)