]> err.no Git - linux-2.6/blobdiff - drivers/char/drm/drm.h
drm: Add support for tracking drawable information to core
[linux-2.6] / drivers / char / drm / drm.h
index 077d0b1914ab5e90a301f5e9617550af31e9864f..07a699029c3eeb5b56d5eb380e4292d2be17ebb8 100644 (file)
@@ -116,6 +116,14 @@ typedef struct drm_clip_rect {
        unsigned short y2;
 } 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,
  */
@@ -443,6 +451,20 @@ typedef struct drm_draw {
        drm_drawable_t handle;
 } 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.
  */
@@ -625,6 +647,8 @@ typedef struct drm_set_version {
 
 #define DRM_IOCTL_WAIT_VBLANK          DRM_IOWR(0x3a, drm_wait_vblank_t)
 
+#define DRM_IOCTL_UPDATE_DRAW          DRM_IOW(0x3f, drm_update_draw_t)
+
 /**
  * Device specific ioctls should only be in their respective headers
  * The device specific ioctl range is from 0x40 to 0x79.