In bug 709947, we turned off shader translation on Android, with this comment: // see bug 709947. On Android, we can't use the ESSL backend because of strange crashes (might be // an allocator mismatch). So we use the GLSL backend, and discard the output, instead just passing // the original WebGL shader source to the GL (since that's ESSL already). The problem is that means // we can't use shader translations on Android, in particular we can't use long identifier shortening, // which means we can't reach 100% conformance. We need to fix that by debugging the ESSL backend // memory crashes. We should figure out what really causes these crashes (allocator mismatch?) and fix them, and re-enabled shader translation. It's a requirement for full conformance on Android, and it's important for stability/security.
Created attachment 618775 [details] [diff] [review] reenable shader translation on android
Comment on attachment 618775 [details] [diff] [review] reenable shader translation on android [Approval Request Comment] Regression caused by (bug #): User impact if declined: we strongly suspect that the lack of shader translation on android is the cause of webgl crashes. in particular, without shader translation, we can't do long identifier mapping. this also prevents us from being webgl conformant on android. Testing completed (on m-c, etc.): inbound Risk to taking this patch (and alternatives if risky): I am rather confident that bug 748654 removed the reason why we had to disable shader translation on android. So this should be safe. If we see a surge of crashes, we'll re-disable. String changes made by this patch: none
Comment on attachment 618775 [details] [diff] [review] reenable shader translation on android [Triage Comment] Android only, and we'll disable if we see more crashiness with WebGL. Approved for Aurora 14.
Oops, apparently this was never backported to 14, sorry... anyway 14's been out for a while on Android, and this doesn't matter for non-Android platforms.