Alpha blending not working on T20 and T30 under Ice Cream Sandwich

Hi ho,

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.

Any Ideas what this could be?

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:

    glDetachShader(shaderProgram, vertShader);
    glDeleteShader(vertShader);
    glDetachShader(shaderProgram, fragShader);
    glDeleteShader(fragShader);

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.

this is a known problem with T20, but we’re unaware of this on T30 - are you able to reproduce this on a T30 device?

AFAIK the Asus Transformer Pad TF700T is a T30 device and it showed the same issue until I updated it from 4.0.3 to 4.1.1.

You say known problem… is there a list of known issues everyone can have a look at to save time next time?

exactly - this was known to be fixed on T30. i’m afraid we don’t make that information pubic.