実際の OpenGL ES 2.0 ハードウェアで WebGL をテストしている Opera の友人からの報告です。多くのデモやアプリケーションでは、フラグメント シェーダーが保証されていないときに高精度を使用しています。
Highp をフラグメント シェーダーに追加することは、OpenGL ES 2.0 仕様のオプション部分であるため、すべてのハードウェアがサポートしているわけではありません(サポートしている場合でも、パフォーマンスが低下する可能性があります)。通常は mediump で十分で、モバイル デバイスでもアプリケーションが正常に機能します。
実際には、フラグメント シェーダーが
precision highp float;
これを次のように変更すると、うまくいくはずです。
precision mediump float; // or lowp