summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKyle Brenneman <kbrenneman@nvidia.com>2019-05-02 07:17:21 -0600
committerAaron Plattner <aplattner@nvidia.com>2019-05-17 08:25:28 -0700
commit56c0a71fdd94a008e5d746261f70a713c4767f93 (patch)
tree82fb23f63284cc25d9b9cec655a5f03af5b1b34e /include
parent8b67ec7cc6fda243480a5a8ca118b66242f3eb2c (diff)
GLX: Add a function to change a clients vendor list.
Add a new function, GlxServerExports::setClientScreenVendor, which will change the vendor that handles GLX requests for a screen, but only for requests from a specific client. v2: Increment the GLXVND minor version number. v3: Note the GLXVND version requirement for setClientScreenVendor. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/glxvndabi.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/glxvndabi.h b/include/glxvndabi.h
index b78306d23..71f36e722 100644
--- a/include/glxvndabi.h
+++ b/include/glxvndabi.h
@@ -75,7 +75,7 @@
* will still work.
*/
#define GLXSERVER_VENDOR_ABI_MAJOR_VERSION 0
-#define GLXSERVER_VENDOR_ABI_MINOR_VERSION 0
+#define GLXSERVER_VENDOR_ABI_MINOR_VERSION 1
#if defined(__cplusplus)
extern "C" {
@@ -236,6 +236,17 @@ typedef struct GlxServerExportsRec {
* \param client The client.
*/
int (* forwardRequest) (GlxServerVendor *vendor, ClientPtr client);
+
+ /**
+ * Sets the vendor library to use for a screen for a specific client.
+ *
+ * This function changes which vendor should handle GLX requests for a
+ * screen. Unlike \c setScreenVendor, this function can be called at any
+ * time, and only applies to requests from a single client.
+ *
+ * This function is available in GLXVND version 0.1 or later.
+ */
+ Bool (* setClientScreenVendor) (ClientPtr client, ScreenPtr screen, GlxServerVendor *vendor);
} GlxServerExports;
extern _X_EXPORT const GlxServerExports glxServer;