Certain Depth texture formats have no results, as in I'm using it and it acts as if the entire texture was all 0s.
I've tested with :
Internal format = GL_DEPTH_COMPONENT16, Type = GL_UNSIGNED_SHORT
Internal format = GL_DEPTH_COMPONENT32F, Type = GL_FLOAT
With some previous drivers, the one with 16 used to work, now with the latest Adreno 320 drivers (I'm on Android 4.4.4) it only works if I use
Internal format = GL_DEPTH_COMPONENT, Type = GL_UNSIGNED_SHORT
This is all in conjunction with a GL_RGBA color texture. The odd part is that the 32 bit version works if I only have a depth attachment and no color attachment.
I made 2 builds for testing, one uses the working version above and the other uses Depth 32 with GL_FLOAT like described above, first is how it should look like (with DOF on) and second doesn't have any DOF. Besides that they're identical.
https://drive.google.com/file/d/0B0P3ptcNhBGzNWQ4Y0VPQXBLU3M/edit?usp=sh...
https://drive.google.com/file/d/0B0P3ptcNhBGzSF92S2c4VHA3ekk/edit?usp=sh...
Was able to install and run the provided apk w/Depth16 ok on current hardware..not yet on Adreno 320.
1) Need more details to better analyze the problem. Can you provide some detailed psuedo code on how you are setting up the FBOs?
2) Is it obvious when the depth texture is failing?
3) Could you let us know exactly which device and build the depth texture is failing with?
Well yeah it's a Nexus 4 with Android 4.4.4 and Adreno 320 ofcourse, you should probably just test it with that. On the device you tested, is the image from the 2 apks identical ? I could submit 2 images so you can figure out what exactly is wrong.
We've tested these versions on a Nexus 4 with Android 4.4.4 ()Linux version 3.4.0-perf-ga6edd5e)
The depth of field in Depth32.apk is more pronounced that in Depth16.apk.