]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/renderbuffer.cpp
Fix incorrect render target buffer names
[libs/gl.git] / source / core / renderbuffer.cpp
index 57b43eba7aaf6dcabc8b8899efff8310e66c11ac..844fcd3a700e184a07538166e03925f2c848a1b6 100644 (file)
@@ -30,12 +30,14 @@ void Renderbuffer::storage(PixelFormat fmt, unsigned wd, unsigned ht)
        require_pixelformat(fmt);
        width = wd;
        height = ht;
+       GLenum gl_fmt = get_gl_pixelformat(fmt);
        if(ARB_direct_state_access)
-               glNamedRenderbufferStorage(id, fmt, width, height);
+               glNamedRenderbufferStorage(id, gl_fmt, width, height);
        else
        {
-               BindRestore _bind(this);
-               glRenderbufferStorage(GL_RENDERBUFFER, fmt, width, height);
+               glBindRenderbuffer(GL_RENDERBUFFER, id);
+               glRenderbufferStorage(GL_RENDERBUFFER, gl_fmt, width, height);
+               glBindRenderbuffer(GL_RENDERBUFFER, 0);
        }
 }
 
@@ -57,25 +59,15 @@ void Renderbuffer::storage_multisample(unsigned samples, PixelFormat fmt, unsign
 
        width = wd;
        height = ht;
+       GLenum gl_fmt = get_gl_pixelformat(fmt);
        if(ARB_direct_state_access)
-               glNamedRenderbufferStorageMultisample(id, samples, fmt, width, height);
+               glNamedRenderbufferStorageMultisample(id, samples, gl_fmt, width, height);
        else
        {
-               BindRestore _bind(this);
-               glRenderbufferStorageMultisample(GL_RENDERBUFFER, samples, fmt, width, height);
-       }
-}
-
-void Renderbuffer::bind() const
-{
-       if(set_current(this))
                glBindRenderbuffer(GL_RENDERBUFFER, id);
-}
-
-void Renderbuffer::unbind()
-{
-       if(set_current(0))
+               glRenderbufferStorageMultisample(GL_RENDERBUFFER, samples, gl_fmt, width, height);
                glBindRenderbuffer(GL_RENDERBUFFER, 0);
+       }
 }
 
 void Renderbuffer::set_debug_name(const string &name)