Closed Bug 1511433 Opened 10 months ago Closed 6 months ago
Artifacts and flickering when rendering gradients on webrender on android
As seen in bug 1499104, there were issues with gradients on webrender on android, noticable in the settings wheel on spiegel.de. This appeared to be fixed by webrender #3352. However, it doesn't seem to have fully fixed them. Since that landed, I can no longer reproduce by visiting spiegel.de on a fresh app launch. But if I visit reddit.com an issue is visible (see vertical stripes next to padlock icon in attachment). And after visiting reddit, it is easy to reproduce back on spiegel or a simple gradient testcase.
In fact, even just reloading spiegel.de is enough to break the gradient again - no need to visit reddit. It does seem to flicker less crazily than before, but it's definitely still broken.
Summary: Flickering gradients on webrender on android (reddit.com) → Artifacts and flickering when rendering gradients on webrender on android
The issue occurs when attempting to read gradient stops from the gpu cache at row 32 or greater (ie address >= 2^15). This is because on GLES GLSL ints are 16 bit, so we overflow and read from the wrong location in the gpu cache. If we use a highp int for the address that should fix this problem.
Pushed by firstname.lastname@example.org: https://hg.mozilla.org/integration/autoland/rev/495ee696b110 Ensure address variables in fragment shaders are highp precision. r=gw
You need to log in before you can comment on or make changes to this bug.