summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorErik Kurzinger <ekurzinger@nvidia.com>2022-08-16 11:54:48 -0700
committerErik Kurzinger <ekurzinger@nvidia.com>2024-03-22 08:09:59 -0700
commitbf661c1c34afb32d8c73b471c17c5bc5912fb346 (patch)
treedd6bcc682d3dde366b94020be2d6bfef7f896ffd /include
parentdb56b508f25629ab1022038131758ce48e6daf82 (diff)
DRI3: add DRI3ImportSyncobj and DRI3FreeSyncobj
Adds new protocol to the DRI3 extension for importing DRM synchronization objects provided by clients. These can be used to enable explicit synchronization between the client, the direct rendering device, and the server. Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r--include/X11/extensions/dri3proto.h28
1 files changed, 26 insertions, 2 deletions
diff --git a/include/X11/extensions/dri3proto.h b/include/X11/extensions/dri3proto.h
index 9cba105..a1fbed5 100644
--- a/include/X11/extensions/dri3proto.h
+++ b/include/X11/extensions/dri3proto.h
@@ -25,7 +25,7 @@
#define DRI3_NAME "DRI3"
#define DRI3_MAJOR 1
-#define DRI3_MINOR 3
+#define DRI3_MINOR 4
#define DRI3NumberErrors 0
#define DRI3NumberEvents 0
@@ -45,7 +45,13 @@
/* v1.3 */
#define xDRI3SetDRMDeviceInUse 9
-#define DRI3NumberRequests 10
+/* v1.4 */
+#define xDRI3ImportSyncobj 10
+#define xDRI3FreeSyncobj 11
+
+#define DRI3NumberRequests 12
+
+#define DRI3Syncobj CARD32
typedef struct {
CARD8 reqType;
@@ -261,4 +267,22 @@ typedef struct {
} xDRI3SetDRMDeviceInUseReq;
#define sz_xDRI3SetDRMDeviceInUseReq 16
+/* v1.4 */
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri3ReqType;
+ CARD16 length;
+ DRI3Syncobj syncobj;
+ CARD32 drawable;
+} xDRI3ImportSyncobjReq;
+#define sz_xDRI3ImportSyncobjReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri3ReqType;
+ CARD16 length;
+ DRI3Syncobj syncobj;
+} xDRI3FreeSyncobjReq;
+#define sz_xDRI3FreeSyncobjReq 8
+
#endif