From 74f7b27b77c013a60d1496024334ef19f250b1a2 Mon Sep 17 00:00:00 2001 From: Kyle Brenneman Date: Wed, 2 Mar 2016 12:46:39 -0700 Subject: GLX: Change the ABI version number to a (major, minor) pair. The version number for the libGLX vendor library interface now uses a major and minor version number in the high- and low-order 16 bits. The major version is used for changes that break existing vendor libraries, and the minor version is for changes where existing vendor libraries will still work. --- include/glvnd/libglxabi.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/include/glvnd/libglxabi.h b/include/glvnd/libglxabi.h index 93806e6..facd9c3 100644 --- a/include/glvnd/libglxabi.h +++ b/include/glvnd/libglxabi.h @@ -90,8 +90,18 @@ extern "C" { /*! * Current version of the ABI. + * + * This version number contains a major number in the high-order 16 bits, and + * a minor version number in the low-order 16 bits. + * + * The major version number is incremented when an interface change will break + * backwards compatibility with existing vendor libraries. The minor version + * number is incremented when there's a change but existing vendor libraries + * will still work. */ -#define GLX_VENDOR_ABI_VERSION 1 +#define GLX_VENDOR_ABI_VERSION ((1 << 16) | 0) +#define GLX_VENDOR_ABI_GET_MAJOR_VERSION(version) ((version) & 0xFFFF) +#define GLX_VENDOR_ABI_GET_MINOR_VERSION(version) ((version) >> 16) /*! -- cgit v1.2.3