As per [1] (and [2]), it's time to officially freeze the ABI for the upcoming xserver 1.16 release. That means that you can extend the ABI in ways that are backwards-compatible (e.g., add fields to the end of a server-allocated structure that is not exposed in an array), and change the API (e.g., rename things), but please avoid changing the ABI in a backwards-incompatible way. I.e., a driver built against the ABI 18 snapshot should still work when loaded by the official xserver 1.16.0 release.
Note that there are many API changes that are not reflected as changes in the ABI (e.g., "pointer" was replaced with "void *"). Those changes are not covered here. ===== ABI 18 is frozen as of git commit 42a4873cc7fe0c7a729e48f806e877c4dac5c07f The previous ABI freeze was ABI 15, at git tag xorg-server-1.15.0 Backwards-incompatible changes since ABI 15: 1. LoadExtension was removed. Use the new LoadExtensionList instead. 2. Pointers to the GCOps and GCFuncs structures are now const. Optimizations applied to the server may break drivers that expect to be able to change individual fields within these structures. 3. The smart_check_tick field was removed from ClientRec, shifting the clientPtr, clientIds, and req_fds fields. It also changed the pitch of the global 'clients' array. 4. The "unowned" field was removed from struct OdevAttributes. 5. The NameWindowPixmap field was added to ScreenRec between SetScreenPixmap and pScratchPixmap, shifting pScratchPixmap and all later elements by the size of a pointer. 6. load_cursor_image_check and load_cursor_argb_check were added to xf86CrtcFuncsRec, shifting some of the other fields. Similar changes were made to xf86CursorInfoRec. [1] http://lists.x.org/archives/xorg-devel/2014-April/042239.html [2] http://lists.x.org/archives/xorg-devel/2013-December/039739.html _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
