https://bugs.freedesktop.org/show_bug.cgi?id=35460
--- Comment #18 from Bruno bonbons67@internet.lu 2012-01-05 13:41:16 PST --- (In reply to comment #17)
No, we don't buffer cursors. A single cursor bo is updated every time its image changes. (Whilst possible, I don't it is an interesting optimisation to cache the bo for a variety of cursors.)
This could just be a bad bit of RAM, bad cache, or signs of incoherency... Can you retry Daniel's original overkill patch and see if this corruption ever turns up? Though I think we can safely say that the current mb is an improvement.
The overkill patch also has the corrupted cursor happen sporadically.
As the corrupted cursor survives cursor shape switches (e.g. on moving across windows) it must be some intermediate buffer that gets filled with corrupted data and stays that way until recycled. I don't know if/who of enlightenment or xorg-server does the caching (as you say intel driver doesn't do it explicitly).
It seems to affect only the high-color cursors (at least I haven't seen corruptions for black&white ones) so it could be some recoding missing a barrier.
dri-devel@lists.freedesktop.org