AVISO de nuestros amigos de Opera, que probaron WebGL en hardware real de OpenGL ES 2.0: muchas demostraciones y aplicaciones usan precisión highp en sombreadores de fragmentos cuando no es realmente necesario.
Highp en sombreadores de fragmentos es una parte opcional de la especificación OpenGL ES 2.0, por lo que no todo el hardware lo admite (y, incluso cuando lo hace, puede haber una disminución del rendimiento). Por lo general, usar mediump será suficiente y garantizará que tus aplicaciones también funcionen en dispositivos móviles.
En la práctica, si tu sombreador de fragmentos comenzó con
precision highp float;
Cambiarlo a lo siguiente debería funcionar:
precision mediump float; // or lowp