|
|
@@ -3277,11 +3277,16 @@ BX_TRACE("%d, %d, %d, %s", _array, _srgb, _mipAutogen, getName(_format) );
|
|
|
if (0 == m_msaaBackBufferFbo // iOS
|
|
|
&& 1 < _msaa)
|
|
|
{
|
|
|
+ GLenum storageFormat = (m_resolution.reset & BGFX_RESET_SRGB_BACKBUFFER)
|
|
|
+ ? GL_SRGB8_ALPHA8
|
|
|
+ : GL_RGBA8
|
|
|
+ ;
|
|
|
+
|
|
|
GL_CHECK(glGenFramebuffers(1, &m_msaaBackBufferFbo) );
|
|
|
GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, m_msaaBackBufferFbo) );
|
|
|
GL_CHECK(glGenRenderbuffers(BX_COUNTOF(m_msaaBackBufferRbos), m_msaaBackBufferRbos) );
|
|
|
GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, m_msaaBackBufferRbos[0]) );
|
|
|
- GL_CHECK(glRenderbufferStorageMultisample(GL_RENDERBUFFER, _msaa, GL_RGBA8, _width, _height) );
|
|
|
+ GL_CHECK(glRenderbufferStorageMultisample(GL_RENDERBUFFER, _msaa, storageFormat, _width, _height) );
|
|
|
GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, m_msaaBackBufferRbos[1]) );
|
|
|
GL_CHECK(glRenderbufferStorageMultisample(GL_RENDERBUFFER, _msaa, GL_DEPTH24_STENCIL8, _width, _height) );
|
|
|
GL_CHECK(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, m_msaaBackBufferRbos[0]) );
|