Basically mobile GPUs are a mixed bag of bugs all over the place. Three.JS is an attempt to find common path through those bugs in order to achieve reproducible results.
If you want to try your hand at this, there is still this outstanding issue that we haven't yet tracked down on the Nexus 5 devices:
https://github.com/mrdoob/three.js/pull/7556
Also some other code that seemed completely valid failed on Nexus 5 devices - so we had to revert it:
https://github.com/mrdoob/three.js/pull/9948
Basically mobile GPUs are a mixed bag of bugs all over the place. Three.JS is an attempt to find common path through those bugs in order to achieve reproducible results.
If you want to try your hand at this, there is still this outstanding issue that we haven't yet tracked down on the Nexus 5 devices:
https://github.com/mrdoob/three.js/issues/9515