While developing we've ran into the following issue: at some point after switching to a specific FBO depth buffer stops working as expected. Depth test always passes.
We've played with the depth test set up/VS output and managed to get output which looks like z-fighting artifacts - I'm testing flat triangle parallel to a screen against z-buffer filled by the ground plane (which is orthogonal to the screen) - the results on the screen don't make any sense to me either. Blocks of pixels flash randomly and don't make any recognizable pattern.
When I press square on the android hud and and shows the list of applications the picture might switch to one I expect to see. One of the real footage levels is rendered correctly for several seconds, then it breaks.
This issue happens for the depth buffer which is used by multiple FBOs. It is cleared at the very beginning of the frame. No unexpected clears are performed later. glInvalidateFramebuffer is disabled. To make it worse everything looks fine on other vendor's devices. I've disabled all vendor-specific code.
When I try to check the content of the FBOs using your frame debugger tool both depth and stencil planes are hatched. In other FBOs all the planes look as expected (we still see some hatched planes but this is for the buffers which aren't rendered during the current frame).
Any chance anyone bumped into similar issue?