- Bind _bind(this, true);
- width = w;
- height = h;
- glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, fmt, width, height);
+ fmt = normalize_format(fmt);
+ require_pixelformat(fmt);
+ width = wd;
+ height = ht;
+ if(ARB_direct_state_access)
+ glNamedRenderbufferStorage(id, fmt, width, height);
+ else
+ {
+ BindRestore _bind(this);
+ glRenderbufferStorage(GL_RENDERBUFFER, fmt, width, height);
+ }
+}
+
+void Renderbuffer::storage_multisample(unsigned samples, PixelFormat fmt, unsigned wd, unsigned ht)
+{
+ static Require _req(EXT_framebuffer_multisample);
+ fmt = normalize_format(fmt);
+ require_pixelformat(fmt);
+
+ width = wd;
+ height = ht;
+ if(ARB_direct_state_access)
+ glNamedRenderbufferStorageMultisample(id, samples, fmt, width, height);
+ else
+ {
+ BindRestore _bind(this);
+ glRenderbufferStorageMultisample(GL_RENDERBUFFER, samples, fmt, width, height);
+ }