I’m working with an Acer Iconia Tab A500 and Asus Transformer Pad TF700T.
Everything works fine except for Alpha Blending. Wich does not work at all independent of blend function or blend equation. The same code works fine on iOS and the Asus Transformer Pad TF700T as soon as I update it to Android 4.1.1. There is no Android update for the Acer Iconia Tab A500, therefore I have to fix it somehow for Android 4.0.3. (Asus TF7000T with 4.0.3 has the same alpha blending issue)
As a general test I played with GL2JNIActivity and enabled alpha blending there as well and it works there even on 4.0.3. I based my app on this sample, so everything is the same, but it still does not work.
Ok, after many hours of debugging I found the culprit. Either it is a Driver Issue or an OGLES2.0 implementation bug in Android 4.0.3
After linking a shaderProgram successfully I call these:
Assuming the shaderProgram is linked and ready to use this is a valid procedure.
But it looks like glDetachShader removes some information from the linked shaderProgram which is neccessary for ROP setup later, hence Alpha Blending will be broken afterwards.