vmware/core: Update vmwgfx_drm.h to latest version
authorJakob Bornecrantz <jakob@vmware.com>
Tue, 1 Dec 2009 16:00:43 +0000 (17:00 +0100)
committerJakob Bornecrantz <jakob@vmware.com>
Tue, 1 Dec 2009 16:29:41 +0000 (17:29 +0100)
src/gallium/winsys/drm/vmware/core/vmwgfx_drm.h

index 6705dd42897500ccb693895a83d6a5abd232f896..6bf3183ff54f952ae0d7560c3a38b4609dc50596 100644 (file)
@@ -45,7 +45,7 @@
 #define DRM_VMW_UNREF_DMABUF         10
 #define DRM_VMW_FIFO_DEBUG           11
 #define DRM_VMW_FENCE_WAIT           12
-
+#define DRM_VMW_OVERLAY              13
 
 /*************************************************************************/
 /**
@@ -439,4 +439,68 @@ struct drm_vmw_fence_wait_arg {
        int32_t pad64;
 };
 
+/*************************************************************************/
+/**
+ * DRM_VMW_OVERLAY - Control overlays.
+ *
+ * This IOCTL controls the overlay units of the svga device.
+ * The SVGA overlay units does not work like regular hardware units in
+ * that they do not automaticaly read back the contents of the given dma
+ * buffer. But instead only read back for each call to this ioctl, and
+ * at any point between this call being made and a following call that
+ * either changes the buffer or disables the stream.
+ */
+
+/**
+ * struct drm_vmw_rect
+ *
+ * Defines a rectangle. Used in the overlay ioctl to define
+ * source and destination rectangle.
+ */
+
+struct drm_vmw_rect {
+       int32_t x;
+       int32_t y;
+       uint32_t w;
+       uint32_t h;
+};
+
+/**
+ * struct drm_vmw_overlay_arg
+ *
+ * @stream_id: Stearm to control
+ * @enabled: If false all following arguments are ignored.
+ * @handle: Handle to buffer for getting data from.
+ * @format: Format of the overlay as understood by the host.
+ * @width: Width of the overlay.
+ * @height: Height of the overlay.
+ * @size: Size of the overlay in bytes.
+ * @pitch: Array of pitches, the two last are only used for YUV12 formats.
+ * @offset: Offset from start of dma buffer to overlay.
+ * @src: Source rect, must be within the defined area above.
+ * @dst: Destination rect, x and y may be negative.
+ *
+ * Argument to the DRM_VMW_OVERLAY Ioctl.
+ */
+
+struct drm_vmw_overlay_arg {
+       uint32_t stream_id;
+       uint32_t enabled;
+
+       uint32_t flags;
+       uint32_t color_key;
+
+       uint32_t handle;
+       uint32_t offset;
+       int32_t format;
+       uint32_t size;
+       uint32_t width;
+       uint32_t height;
+       uint32_t pitch[3];
+
+       uint32_t pad64;
+       struct drm_vmw_rect src;
+       struct drm_vmw_rect dst;
+};
+
 #endif