Thanks!
I draw on the FBackBufferSurface, which is bound to the native windows. Regarding the FBO, here's what I do (I'm using Android):
glGetIntegerv(GL_FRAMEBUFFER_BINDING, @GLuint(LGrGlFramebufferInfo.FBOID));
LGrGlFramebufferInfo.Format := GL_RGBA8_OES;
LGrBackendRenderTarget := TGrBackendRenderTarget.CreateGl(Width, Height, .... , LGrGlFramebufferInfo);
This issue is driving me crazy because I can't understand where the problem lies. When the app starts, and the main SKSurface (i.e., FBackBufferSurface) has not yet been created, at this point, I simply create an off-screen GPU surface (
sksurface::makefromtexture) .
I don't do anything with it, but later, when I create the main SKSurface (FBackBufferSurface) and try to render on it, I only get a black screen.
* If I create this off-screen GPU surface
and then immediately destroy it, everything works fine later when I try to render on the main GPU surface.
* If I create this off-screen GPU surface
after the main SKSurface is created, then everything also works fine.
What could be the reason that creating an off-screen GPU surface very early in the app's lifecycle breaks the rendering on the future main SKSurface?