Closed Bug 678134 Opened 10 years ago Closed 10 years ago
With GL layers on X11/NVIDIA, selecting text erases the text
181.86 KB, image/jpeg
STR: 1. enable GL layers, restart browser 2. Go to any web page that has text. I got this on bugzilla.mozilla.org main page, on about:memory, ... 3. play with selecting and deselecting text on that page. After a while (every roughly 5-10 tries) you can get into a situation where the text you had selected completely disappears when you deselect it.
Note: this is with NVIDIA 270.41.19 on a Quadro FX 880M
In MOZ_GL_DEBUG mode, it's almost impossible to reproduce the bug. Had to try for a couple minutes. This hints at a possible synchronization problem between GL and X, given that the main difference that MOZ_GL_DEBUG makes is that it calls glFinish after every GL function. There always is a little bit of flicker when selecting text. The selected text disappears for a very short time before being repainted in the selection. In MOZ_GL_DEBUG that problem is more visible, but that could be just a consequence of MOZ_GL_DEBUG being slow. There is no GL error at all.
The problem still occurs with NVIDIA 280.13. In some cases I've had only a triangle of text rendered. My understanding is that we're rendering quads as 2 triangles and in this case only one of the two triangles had been painted by the time we did the compositing. This hints strongly toward a syncing issue (see comment 2).
It's worth saying that I didn't really see the "triangle effect" before the NVIDIA 280.13 upgrade. Before that, only whole quads were missing.
The only time we render triangles is when drawing textures onto our window. Swapping the buffers at the end of compositing should wait for all of these operations to finish. That said, it's a pretty bizarre looking screenshot.
This is fixed by the patch v2 in bug 675474 !
Should be fixed by 675474, will verify in tomorrow's nightly.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.