summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyle Brenneman <kbrenneman@nvidia.com>2016-03-02 12:46:39 -0700
committerKyle Brenneman <kbrenneman@nvidia.com>2016-03-02 12:46:39 -0700
commit74f7b27b77c013a60d1496024334ef19f250b1a2 (patch)
treef1acacdc1f088f2f9271a22c856a3ece76fe509a
parent82f731010bde3053dd305e81fcc4ad2f72a3099a (diff)
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.
-rw-r--r--include/glvnd/libglxabi.h12
1 files changed, 11 insertions, 1 deletions
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)
/*!