I have a simple demo that shows strange lightning artifacts on two Adreno 320 devices(Nexus 4 and Nexus 7 both running Android 4.4.2).
Here's the relevant part of the code:
This code as it is shows this kind of behavior: http://www.youtube.com/watch?v=Gxzfyz_VQzw. But then, if I remove the for loop and just hard code only one light source, such as:
vec3 lightDirection = normalize(u_directionalLightDirection); combinedColor += computeLighting(normalVector, -lightDirection, u_directionalLightColor, 1.0);
the artifact disappears and it renders fine. http://www.youtube.com/watch?v=979p8rE3nYo&feature=youtu.be
The same for loop seems to work fine in other devices.
I would really appreciate any suggestion.