- 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
- glTexStorage2DMultisample(target, samples, gl_fmt, width, height, false);
- }
- else
- glTexImage2DMultisample(target, samples, gl_fmt, width, height, false);
- apply_swizzle();
-
- if(!direct)
- glBindTexture(target, 0);