[Mesa-dev] [PATCH 0/3] Destroy Present event contexts

Michel Dänzer michel at daenzer.net
Thu Jul 28 09:34:43 UTC 2016

Running XTS (the X test suite) on Xephyr using glamor running on Xorg,
I stumbled upon an issue:

* XTS causes Xephyr to keep resetting and starting new server generations
* glamor creates a new GLX context for each server generation but re-uses
  the same window

This caused Xorg to accumulate stale Present event contexts from previous
GLX contexts, so it kept getting slower due to sending out an increasing
number of copies of the same Present events to Xephyr.

The first patch fixes this problem, and the other two patches apply the
same principle to the other places using Present event contexts.

Note that destroying a Present event context doesn't actually work
without this xserver fix:


But these changes shouldn't make things any worse than they already
are with X servers lacking that fix.

[PATCH 1/3] loader/dri3: Destroy Present event context when
[PATCH 2/3] vl/dri3: Destroy Present event context when destroying
[PATCH 3/3] anv/x11: Destroy Present event context when destroying

More information about the mesa-dev mailing list