I was able to solve this issue for my app. My solution may not be the best for everyone, but it works for me because I already have precision mediump float;
or precision highp float;
in my shaders where necessary.
I re-compiled jME3-core with the following change to GLRenderer:
if (source.getType() == ShaderType.Fragment
&& !source.getSource().contains("precision mediump float;")
&& !source.getSource().contains("precision highp float;")) {
// GLES2 requires precision qualifier.
stringBuf.append("precision mediump float;\n");
}
Previously this was simply:
if (source.getType() == ShaderType.Fragment) {
// GLES2 requires precision qualifier.
stringBuf.append("precision mediump float;\n");
}
P.S. Testing this through Amazon’s app testing service shows green check marks across the board