]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/texture2dmultisample.cpp
Use standard fixed-size integer types
[libs/gl.git] / source / core / texture2dmultisample.cpp
index 18e21b76ba45eeeaaf585504104aa8558335daa3..85fa19504ed65638d76204242d2dea102020c8b3 100644 (file)
@@ -36,27 +36,23 @@ void Texture2DMultisample::storage(PixelFormat fmt, unsigned wd, unsigned ht, un
        height = ht;
        samples = sm;
 
-       bool direct = ARB_texture_storage_multisample && ARB_direct_state_access;
-       if(!direct)
-       {
-               glActiveTexture(GL_TEXTURE0);
-               glBindTexture(target, id);
-       }
-
        GLenum gl_fmt = get_gl_pixelformat(storage_fmt);
        if(ARB_texture_storage_multisample)
        {
                if(ARB_direct_state_access)
                        glTextureStorage2DMultisample(id, samples, gl_fmt, width, height, false);
                else
+               {
+                       bind_scratch();
                        glTexStorage2DMultisample(target, samples, gl_fmt, width, height, false);
+               }
        }
        else
+       {
+               bind_scratch();
                glTexImage2DMultisample(target, samples, gl_fmt, width, height, false);
+       }
        apply_swizzle();
-
-       if(!direct)
-               glBindTexture(target, 0);
 }
 
 void Texture2DMultisample::image(const Graphics::Image &, unsigned)
@@ -64,7 +60,7 @@ void Texture2DMultisample::image(const Graphics::Image &, unsigned)
        throw invalid_operation("Texture2DMultisample::image");
 }
 
-UInt64 Texture2DMultisample::get_data_size() const
+uint64_t Texture2DMultisample::get_data_size() const
 {
        return id ? width*height*get_pixel_size(format)*samples : 0;
 }