Skip to content

Commit b016fa0

Browse files
committed
Bugfix: Reset default framebuffer to back after rendering
1 parent d3928a7 commit b016fa0

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

src/libprojectM/ProjectM.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,13 @@ void ProjectM::RenderFrame()
168168

169169
// ToDo: Allow external apps to provide a custom target framebuffer.
170170
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
171+
glViewport(0, 0, renderContext.viewportSizeX, renderContext.viewportSizeY);
172+
173+
// On WebGL2 / Chrome ANGLE, the default framebuffer's draw buffer must
174+
// be explicitly set to GL_BACK after preset rendering, which may leave
175+
// per-FBO draw buffer state that leaks into FBO 0 on some drivers.
176+
GLenum backBuf = GL_BACK;
177+
glDrawBuffers(1, &backBuf);
171178

172179
if (m_transition != nullptr && m_transitioningPreset != nullptr)
173180
{

0 commit comments

Comments
 (0)