summaryrefslogtreecommitdiff
path: root/syncproto.h
diff options
context:
space:
mode:
authorJames Jones <jajones@nvidia.com>2010-02-12 16:38:08 -0800
committerJames Jones <jajones@nvidia.com>2010-12-03 16:50:32 -0800
commitd079ee210726d2407fa9c8cf99555daf2d96023a (patch)
tree311a603e3fb4b6ce40319b7ddf3dc9bebbffe2d3 /syncproto.h
parent9ba2065b63ea0e61a17b8221ad454c02a1755373 (diff)
downloadxorg-proto-xextproto-d079ee210726d2407fa9c8cf99555daf2d96023a.tar.gz
Initial Fence Sync support
Defines the protocol for creation and basic management of binary state sync objects. The following operations are defined: -Creation -Destruction -Trigger -Reset Signed-off-by: James Jones <jajones@nvidia.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Diffstat (limited to 'syncproto.h')
-rw-r--r--syncproto.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/syncproto.h b/syncproto.h
index 13b53d5..c38ea84 100644
--- a/syncproto.h
+++ b/syncproto.h
@@ -67,6 +67,10 @@ PERFORMANCE OF THIS SOFTWARE.
#define X_SyncDestroyAlarm 11
#define X_SyncSetPriority 12
#define X_SyncGetPriority 13
+#define X_SyncCreateFence 14
+#define X_SyncTriggerFence 15
+#define X_SyncResetFence 16
+#define X_SyncDestroyFence 17
/* cover up types from sync.h to make sure they're the right size for
* protocol packaging. These will be undef'ed after all the protocol
@@ -74,6 +78,8 @@ PERFORMANCE OF THIS SOFTWARE.
*/
#define XSyncCounter CARD32
#define XSyncAlarm CARD32
+#define XSyncFence CARD32
+#define Drawable CARD32
/*
* Initialize
@@ -337,6 +343,54 @@ typedef struct {
#define sz_xSyncGetPriorityReply 32
/*
+ * Create Fence
+ */
+typedef struct _xSyncCreateFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ Drawable d B32;
+ XSyncFence fid B32;
+ BOOL initially_triggered;
+ CARD8 pad0;
+ CARD16 pad1;
+} xSyncCreateFenceReq;
+#define sz_xSyncCreateFenceReq 16
+
+/*
+ * Put a fence object in the "triggered" state.
+ */
+typedef struct _xSyncTriggerFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncFence fid B32;
+} xSyncTriggerFenceReq;
+#define sz_xSyncTriggerFenceReq 8
+
+/*
+ * Put a fence in the "untriggered" state.
+ */
+typedef struct _xSyncResetFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncFence fid B32;
+} xSyncResetFenceReq;
+#define sz_xSyncResetFenceReq 8
+
+/*
+ * Destroy a fence object
+ */
+typedef struct _xSyncDestroyFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncFence fid B32;
+} xSyncDestroyFenceReq;
+#define sz_xSyncDestroyFenceReq 8
+
+/*
* Events
*/
@@ -373,6 +427,8 @@ typedef struct _xSyncAlarmNotifyEvent {
#undef XSyncCounter
#undef XSyncAlarm
+#undef XSyncFence
+#undef Drawable
#endif /* _SYNCPROTO_H_ */