With GL layers on X11/NVIDIA, selecting text erases the text

RESOLVED FIXED

Status

()

Core
Graphics
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: bjacob, Unassigned)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

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.
(Reporter)

Comment 1

6 years ago
Note: this is with NVIDIA 270.41.19 on a Quadro FX 880M
(Reporter)

Comment 2

6 years ago
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.
(Reporter)

Comment 3

6 years ago
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).
(Reporter)

Comment 4

6 years ago
Created attachment 553098 [details]
screenshot for the "triangle effect" that I started seeing with NVIDIA 280.13

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.
(Reporter)

Updated

6 years ago
Depends on: 675474
(Reporter)

Comment 6

6 years ago
This is fixed by the patch v2 in bug 675474 !
(Reporter)

Comment 7

6 years ago
Should be fixed by 675474, will verify in tomorrow's nightly.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.