Re: DRI3/Present fixes for XServers 1.16 and 1.17rc - reviewed
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
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)
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
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