This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

glBlitFramebuffer from FBO -> Back Buffer leaves trails on Nexus 10

I reported this a while back against Android 4.3 on the old forums but since you guys blew away all the old content I'm reporting it again. I just updated my Nexus 10 to KitKat hoping the problem might be fixed but it's still there.

This was the old thread: http://forums.arm.com/index.php?/topic/17088-msaa-renderbuffer-back-buffer-blit-generates-invalid-operation-error-on-nexus-10/

Basically we're rendering off-screen to an FBO with an RGBA texture attached to COLOR_ATTACHMENT0. At the end of the frame we try to blit this image to the back buffer using glBlitFramebuffer. What we get in the back buffer is a trail of all previous frames as though we were never clearing the screen between frames. If I draw the image to the back buffer as a textured quad instead of using BlitFramebuffer then it looks correct, so I don't think it's really an issue in the source image (not to mention this code works fine on Desktop GL and other non-Mali ES 3.0 devices).

Screenshot_2013-11-14-10-00-36.png

Here's a link to an APK file that shows the problem. Just load any of the sample documents and try to manipulate the camera and you'll see the trails.

https://dl.dropboxusercontent.com/u/69927239/HOOPSAndroidViewer_nexus10_trails.apk

Parents Reply Children
  • Hi Evan,

    I have some advice for you from the driver team:


    The advice for a workaround from my side would be:

    • Don't use FB blit to resolve MSAA surfaces
    • Use FramebufferTexture2dMultisampleExt to render into a texture and use this texture to draw onto the main FBO

    This lowers memory pressure and might even be faster.

    Hope this helps, please get back in touch if the issues persist.

    Thanks,

    Chris