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).
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
Thanks Chris. If there's any further information we can provide to help resolve this please let me know.
Evan
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.
The advice for a workaround from my side would be:
This lowers memory pressure and might even be faster.
Hope this helps, please get back in touch if the issues persist.
Thanks,
Chris