summaryrefslogtreecommitdiff
path: root/shared-core/drm.h
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2006-08-22 16:40:07 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2006-09-29 12:55:08 +0200
commit9810ec2737de6aa81e764225f580e4ea39de437a (patch)
treec0bc3769044122e7075b41ba39dc3fd40fac042f /shared-core/drm.h
parenta7b8c8d523d7f726b8fb74cb37f807d2316cf5dd (diff)
Add support for tracking drawable information to core
Actually make the existing ioctls for adding and removing drawables do something useful, and add another ioctl for the X server to update drawable information. The only kind of drawable information tracked so far is cliprects. (cherry picked from 29598e5253ff5c085ccf63580fd24b84db848424 commit)
Diffstat (limited to 'shared-core/drm.h')
-rw-r--r--shared-core/drm.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/shared-core/drm.h b/shared-core/drm.h
index c2bcf62c..0b241117 100644
--- a/shared-core/drm.h
+++ b/shared-core/drm.h
@@ -165,6 +165,14 @@ typedef struct drm_clip_rect {
} drm_clip_rect_t;
/**
+ * Drawable information.
+ */
+typedef struct drm_drawable_info {
+ unsigned int num_rects;
+ drm_clip_rect_t *rects;
+} drm_drawable_info_t;
+
+/**
* Texture region,
*/
typedef struct drm_tex_region {
@@ -515,6 +523,20 @@ typedef struct drm_draw {
} drm_draw_t;
/**
+ * DRM_IOCTL_UPDATE_DRAW ioctl argument type.
+ */
+typedef enum {
+ DRM_DRAWABLE_CLIPRECTS,
+} drm_drawable_info_type_t;
+
+typedef struct drm_update_draw {
+ drm_drawable_t handle;
+ unsigned int type;
+ unsigned int num;
+ unsigned long long data;
+} drm_update_draw_t;
+
+/**
* DRM_IOCTL_GET_MAGIC and DRM_IOCTL_AUTH_MAGIC ioctl argument type.
*/
typedef struct drm_auth {
@@ -901,6 +923,8 @@ typedef union drm_mm_init_arg{
#define DRM_IOCTL_MM_INIT DRM_IOWR(0x3e, drm_mm_init_arg_t)
#endif
+#define DRM_IOCTL_UPDATE_DRAW DRM_IOW(0x3f, drm_update_draw_t)
+
/*@}*/
/**