DRI3/Present fixes for XServers 1.16 and 1.17rc

Mario Kleiner mario.kleiner.de at gmail.com
Mon Nov 24 18:27:40 PST 2014


Hi,

i finally figured out why dri3/present failed so miserably with my
neuro-science application, which relies on OML_sync_control and
INTEL_swap_events extensively and worked nicely under dri2 for years.

I found so far two bugs in the x-server and 3 bugs in mesas
dri/present backend. I'll send out the mesa patches with fixes
separately.

The following two patches fix the x-server part for me. First one
only caused pain during debugging - a bug in the DebugPresent macros,
causing server crash on logout, closing of unredirected fullscreen
windows, or toggling composition on/off whenever the debug macros
were compiled in.

The second patch fixes nouveau's massive tearing and various
OML_sync_control related failures caused by lack of vsynced pageflips.
The problem doesn't happen on intel, at least with the tested ddx
versions, because intel-ddx (as of 2.99.914) never reports
AsyncFlipCapability on my Intel HD Ironlake and Intel HD 4000 IvyBridge,
so possibly a bug in the intel driver which cancels out with the server
bug?

These patches were tested to apply cleanly on master and on top of the
1.16.2 branch. They were tested on Intel HD, Intel HD-4000 and with
nouveau on a NVidia gpu on top of 1.16.2.

Could these be applied to 1.16 and later? 

thanks,
-mario



More information about the xorg-devel mailing list