summaryrefslogtreecommitdiff
path: root/shared-core/drm.h
diff options
context:
space:
mode:
authorThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-08-21 21:02:08 +0200
committerThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-08-21 21:02:08 +0200
commit166da9355d95affe427a6cff3525df60e80a99df (patch)
tree5cc3dc2da5f1e7ff2dfb7fdf6eb7ff66097182cf /shared-core/drm.h
parent1c787f0d396c309131d5f34939598d657ee2459f (diff)
User / Kernel space fence objects (device-independent part).
Diffstat (limited to 'shared-core/drm.h')
-rw-r--r--shared-core/drm.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/shared-core/drm.h b/shared-core/drm.h
index 87f8da6b..65d04b72 100644
--- a/shared-core/drm.h
+++ b/shared-core/drm.h
@@ -259,7 +259,7 @@ typedef enum drm_map_type {
_DRM_SHM = 2, /**< shared, cached */
_DRM_AGP = 3, /**< AGP/GART */
_DRM_SCATTER_GATHER = 4, /**< Scatter/gather memory for PCI DMA */
- _DRM_CONSISTENT = 5 /**< Consistent memory for PCI DMA */
+ _DRM_CONSISTENT = 5, /**< Consistent memory for PCI DMA */
} drm_map_type_t;
/**
@@ -629,6 +629,31 @@ typedef struct drm_set_version {
int drm_dd_minor;
} drm_set_version_t;
+#define DRM_FENCE_FLAG_EMIT 0x00000001
+#define DRM_FENCE_FLAG_SHAREABLE 0x00000002
+#define DRM_FENCE_FLAG_WAIT_LAZY 0x00000004
+#define DRM_FENCE_FLAG_WAIT_IGNORE_SIGNALS 0x00000008
+
+#define DRM_FENCE_EXE 0x00000001
+
+typedef struct drm_fence_arg {
+ unsigned handle;
+ unsigned type;
+ unsigned flags;
+ unsigned signaled;
+ enum {
+ drm_fence_create,
+ drm_fence_destroy,
+ drm_fence_reference,
+ drm_fence_unreference,
+ drm_fence_signaled,
+ drm_fence_flush,
+ drm_fence_wait,
+ drm_fence_emit
+ } op;
+} drm_fence_arg_t;
+
+
/**
* \name Ioctls Definitions
*/
@@ -694,6 +719,9 @@ typedef struct drm_set_version {
#define DRM_IOCTL_WAIT_VBLANK DRM_IOWR(0x3a, drm_wait_vblank_t)
+#define DRM_IOCTL_FENCE DRM_IOWR(0x3b, drm_fence_arg_t)
+
+
/*@}*/
/**