diff options
author | Dave Airlie <airlied@redhat.com> | 2011-10-05 10:18:13 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-10-05 10:18:13 +0100 |
commit | 5383053627afab973ffe582a4db9646317bec726 (patch) | |
tree | 92b4358b0e91c4bca5da8ebe42cf9d64967a6536 /include | |
parent | 88ef4e3f4f616462b78a7838eb3ffc3818d30f67 (diff) | |
parent | 6ea77d1384ed0c2d040a1934ecc3fd7187580931 (diff) |
Merge branch 'drm-vmware-next' into drm-core-next
* drm-vmware-next: (26 commits)
vmwgfx: Minor cleanups
vmwgfx: Bump driver minor to advertise support for new ioctls.
vmwgfx: Be more strict with fb depths when using screen objects
vmwgfx: Handle device surface memory limit
vmwgfx: Make sure we always have a user-space handle to use for objects that are backing kms framebuffers.
vmwgfx: Optimize the command submission resource list
vmwgfx: Fix up query processing
vmwgfx: Allow reference and unreference of NULL fence objects.
vmwgfx: minor dmabuf utilities cleanup
vmwgfx: Disallow user space to send present and readback commands
vmwgfx: Add present and readback ioctls
vmwgfx: Place overlays in GMR area if we can
vmwgfx: Drop 3D Legacy Display Unit support
vmwgfx: Require HWV8 for 3d support
vmwgfx: Add screen object support
vmwgfx: Add dmabuf helper functions for pinning
vmwgfx: Refactor common display unit functions to shared file
vmwgfx: Expand the command checker to cover screen object commands
vmwgfx: Break out dirty submission code
vmwgfx: Break out execbuf command processing
...
Diffstat (limited to 'include')
-rw-r--r-- | include/drm/vmwgfx_drm.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/include/drm/vmwgfx_drm.h b/include/drm/vmwgfx_drm.h index 29cd9cfdd61..5b5b0a891f3 100644 --- a/include/drm/vmwgfx_drm.h +++ b/include/drm/vmwgfx_drm.h @@ -52,6 +52,8 @@ #define DRM_VMW_FENCE_SIGNALED 15 #define DRM_VMW_FENCE_UNREF 16 #define DRM_VMW_FENCE_EVENT 17 +#define DRM_VMW_PRESENT 18 +#define DRM_VMW_PRESENT_READBACK 19 /*************************************************************************/ @@ -681,5 +683,66 @@ struct drm_vmw_fence_arg { }; +/*************************************************************************/ +/** + * DRM_VMW_PRESENT + * + * Executes an SVGA present on a given fb for a given surface. The surface + * is placed on the framebuffer. Cliprects are given relative to the given + * point (the point disignated by dest_{x|y}). + * + */ + +/** + * struct drm_vmw_present_arg + * @fb_id: framebuffer id to present / read back from. + * @sid: Surface id to present from. + * @dest_x: X placement coordinate for surface. + * @dest_y: Y placement coordinate for surface. + * @clips_ptr: Pointer to an array of clip rects cast to an uint64_t. + * @num_clips: Number of cliprects given relative to the framebuffer origin, + * in the same coordinate space as the frame buffer. + * @pad64: Unused 64-bit padding. + * + * Input argument to the DRM_VMW_PRESENT ioctl. + */ + +struct drm_vmw_present_arg { + uint32_t fb_id; + uint32_t sid; + int32_t dest_x; + int32_t dest_y; + uint64_t clips_ptr; + uint32_t num_clips; + uint32_t pad64; +}; + + +/*************************************************************************/ +/** + * DRM_VMW_PRESENT_READBACK + * + * Executes an SVGA present readback from a given fb to the dma buffer + * currently bound as the fb. If there is no dma buffer bound to the fb, + * an error will be returned. + * + */ + +/** + * struct drm_vmw_present_arg + * @fb_id: fb_id to present / read back from. + * @num_clips: Number of cliprects. + * @clips_ptr: Pointer to an array of clip rects cast to an uint64_t. + * @fence_rep: Pointer to a struct drm_vmw_fence_rep, cast to an uint64_t. + * If this member is NULL, then the ioctl should not return a fence. + */ + +struct drm_vmw_present_readback_arg { + uint32_t fb_id; + uint32_t num_clips; + uint64_t clips_ptr; + uint64_t fence_rep; +}; + #endif |