diff --git a/gpu/internal/opengl/opengl.go b/gpu/internal/opengl/opengl.go index ef891973..8d4409aa 100644 --- a/gpu/internal/opengl/opengl.go +++ b/gpu/internal/opengl/opengl.go @@ -6,6 +6,7 @@ import ( "errors" "fmt" "image" + "runtime" "strings" "time" "unsafe" @@ -297,6 +298,10 @@ func (b *Backend) EndFrame() { } if b.sharedCtx { b.restoreState(b.savedState) + } else if runtime.GOOS == "android" { + // The Android emulator needs the output framebuffer to be current when + // eglSwapBuffers is called. + b.glstate.bindFramebuffer(b.funcs, gl.FRAMEBUFFER, b.outputFBO) } }