Re: DRI3/Present fixes for XServers 1.16 and 1.17rc - reviewed

2014-12-10 Thread Julien Cristau
On Sat, Dec  6, 2014 at 05:40:06 +0100, Mario Kleiner wrote:

 Ok, the final patchset. I made the changes Eric Anholt proposed,
 retested, and got them reviewed by him. With those on top of
 XServer 1.16.2, DRI3/Present works for me on all drivers and
 backends (intel sna, uxa and nouveau exa, glamor), single and
 dual-display fullscreen and windowed, with/without compositor,
 vsynced or non-vsynced etc.
 
 The patches apply cleanly to master, 1.17-rc and 1.16.2.

Forgot to reply yesterday... they didn't apply on their own on top of
1.16.2, but, with the other patch you mentioned, cherry-picked and
released as part of 1.16.2.901.

Thanks,
Julien
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

DRI3/Present fixes for XServers 1.16 and 1.17rc - reviewed

2014-12-05 Thread Mario Kleiner
Ok, the final patchset. I made the changes Eric Anholt proposed,
retested, and got them reviewed by him. With those on top of
XServer 1.16.2, DRI3/Present works for me on all drivers and
backends (intel sna, uxa and nouveau exa, glamor), single and
dual-display fullscreen and windowed, with/without compositor,
vsynced or non-vsynced etc.

The patches apply cleanly to master, 1.17-rc and 1.16.2.

Thanks,
-mario

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

DRI3/Present fixes for XServers 1.16 and 1.17rc - (v2)

2014-12-03 Thread Mario Kleiner
Hi,

an updated set of patches to fix the bugs i found in the
xserver dri3/present implementation and one bug in intel-ddx
uxa/dri3/present implementation. Axel Davys comments made me
rethink my original xserver patch and the new solution is
simple and better and afaics how this was actually intended
to work in the server, the server properly using the present_check_flip
ddx driver function.

Patch 1/2 fixes and slightly improves DebugPresent() macros for
the server to avoid crashes at logout, compositor en/disable or
closing windows while flips are pending when the server is compiled
with debug macros on.

Patch 2/2 fixes the use of PresentOptionAsync for page-flipped present,
and makes Present working on nouveau without horrible tearing.

These patches apply to master, 1.17rc and 1.16.2. They were tested
on top of 1.16.2 with the dri3/present backends of nouveau master
(glamor and exa) and intel master (sna and fixed uxa) on single-display
and dual-display, also ran through my hardware timing test equipment.

Patch uxa/present is a required fix for intel-ddx uxa backend, so
intel_present_check_flip no longer lies to the server about its
capabilities.

Can the x-server patches please also be included into the 1.16 series?

thanks,
-mario

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

DRI3/Present fixes for XServers 1.16 and 1.17rc

2014-11-24 Thread Mario Kleiner
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

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel