diff --git a/content/canvas/src/WebGLContext.cpp b/content/canvas/src/WebGLContext.cpp index 6c9993a6d54f..025b4107c485 100644 --- a/content/canvas/src/WebGLContext.cpp +++ b/content/canvas/src/WebGLContext.cpp @@ -437,6 +437,11 @@ WebGLContext::SetContextOptions(JSContext* aCx, JS::Handle aOptions) // enforce that if stencil is specified, we also give back depth newOpts.depth |= newOpts.stencil; + // Don't do antialiasing if we've disabled MSAA. + if (!gfxPrefs::MSAALevel()) { + newOpts.antialias = false; + } + #if 0 GenerateWarning("aaHint: %d stencil: %d depth: %d alpha: %d premult: %d preserve: %d\n", newOpts.antialias ? 1 : 0, diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js index cbb017a34691..746036e86df0 100644 --- a/modules/libpref/src/init/all.js +++ b/modules/libpref/src/init/all.js @@ -3701,7 +3701,12 @@ pref("canvas.image.cache.limit", 0); pref("image.onload.decode.limit", 0); // WebGL prefs +#ifdef ANDROID +// Disable MSAA on mobile. +pref("gl.msaa-level", 0); +#else pref("gl.msaa-level", 2); +#endif pref("webgl.force-enabled", false); pref("webgl.disabled", false); pref("webgl.shader_validator", true);