Out of interest, what was causing the glitching with the graphics? It was a really weird effect.
I was naively assuming that every graphic card and driver is faithful to opengl ES specificiations. Adreno 650 isn't. It does not allow for indexing of matrices 4x4 (mat4) arrays by variable. Workaround is to use array of vectors 4 (vec4) and building matrices out of them. There were also a few other minor things related to that. There are some good reasons for that I suppose and it's not a big deal but makes you remember to always check things on actual hardware.