diff options
Diffstat (limited to 'include/drm/vmwgfx_drm.h')
| -rw-r--r-- | include/drm/vmwgfx_drm.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/include/drm/vmwgfx_drm.h b/include/drm/vmwgfx_drm.h index 2be7e1249b6f..c7645f480d12 100644 --- a/include/drm/vmwgfx_drm.h +++ b/include/drm/vmwgfx_drm.h | |||
| @@ -68,7 +68,8 @@ | |||
| 68 | #define DRM_VMW_PARAM_NUM_FREE_STREAMS 1 | 68 | #define DRM_VMW_PARAM_NUM_FREE_STREAMS 1 |
| 69 | #define DRM_VMW_PARAM_3D 2 | 69 | #define DRM_VMW_PARAM_3D 2 |
| 70 | #define DRM_VMW_PARAM_FIFO_OFFSET 3 | 70 | #define DRM_VMW_PARAM_FIFO_OFFSET 3 |
| 71 | 71 | #define DRM_VMW_PARAM_HW_CAPS 4 | |
| 72 | #define DRM_VMW_PARAM_FIFO_CAPS 5 | ||
| 72 | 73 | ||
| 73 | /** | 74 | /** |
| 74 | * struct drm_vmw_getparam_arg | 75 | * struct drm_vmw_getparam_arg |
| @@ -181,6 +182,8 @@ struct drm_vmw_context_arg { | |||
| 181 | * The size of the array should equal the total number of mipmap levels. | 182 | * The size of the array should equal the total number of mipmap levels. |
| 182 | * @shareable: Boolean whether other clients (as identified by file descriptors) | 183 | * @shareable: Boolean whether other clients (as identified by file descriptors) |
| 183 | * may reference this surface. | 184 | * may reference this surface. |
| 185 | * @scanout: Boolean whether the surface is intended to be used as a | ||
| 186 | * scanout. | ||
| 184 | * | 187 | * |
| 185 | * Input data to the DRM_VMW_CREATE_SURFACE Ioctl. | 188 | * Input data to the DRM_VMW_CREATE_SURFACE Ioctl. |
| 186 | * Output data from the DRM_VMW_REF_SURFACE Ioctl. | 189 | * Output data from the DRM_VMW_REF_SURFACE Ioctl. |
| @@ -192,7 +195,7 @@ struct drm_vmw_surface_create_req { | |||
| 192 | uint32_t mip_levels[DRM_VMW_MAX_SURFACE_FACES]; | 195 | uint32_t mip_levels[DRM_VMW_MAX_SURFACE_FACES]; |
| 193 | uint64_t size_addr; | 196 | uint64_t size_addr; |
| 194 | int32_t shareable; | 197 | int32_t shareable; |
| 195 | uint32_t pad64; | 198 | int32_t scanout; |
| 196 | }; | 199 | }; |
| 197 | 200 | ||
| 198 | /** | 201 | /** |
| @@ -295,17 +298,28 @@ union drm_vmw_surface_reference_arg { | |||
| 295 | * | 298 | * |
| 296 | * @commands: User-space address of a command buffer cast to an uint64_t. | 299 | * @commands: User-space address of a command buffer cast to an uint64_t. |
| 297 | * @command-size: Size in bytes of the command buffer. | 300 | * @command-size: Size in bytes of the command buffer. |
| 301 | * @throttle-us: Sleep until software is less than @throttle_us | ||
| 302 | * microseconds ahead of hardware. The driver may round this value | ||
| 303 | * to the nearest kernel tick. | ||
| 298 | * @fence_rep: User-space address of a struct drm_vmw_fence_rep cast to an | 304 | * @fence_rep: User-space address of a struct drm_vmw_fence_rep cast to an |
| 299 | * uint64_t. | 305 | * uint64_t. |
| 306 | * @version: Allows expanding the execbuf ioctl parameters without breaking | ||
| 307 | * backwards compatibility, since user-space will always tell the kernel | ||
| 308 | * which version it uses. | ||
| 309 | * @flags: Execbuf flags. None currently. | ||
| 300 | * | 310 | * |
| 301 | * Argument to the DRM_VMW_EXECBUF Ioctl. | 311 | * Argument to the DRM_VMW_EXECBUF Ioctl. |
| 302 | */ | 312 | */ |
| 303 | 313 | ||
| 314 | #define DRM_VMW_EXECBUF_VERSION 0 | ||
| 315 | |||
| 304 | struct drm_vmw_execbuf_arg { | 316 | struct drm_vmw_execbuf_arg { |
| 305 | uint64_t commands; | 317 | uint64_t commands; |
| 306 | uint32_t command_size; | 318 | uint32_t command_size; |
| 307 | uint32_t pad64; | 319 | uint32_t throttle_us; |
| 308 | uint64_t fence_rep; | 320 | uint64_t fence_rep; |
| 321 | uint32_t version; | ||
| 322 | uint32_t flags; | ||
| 309 | }; | 323 | }; |
| 310 | 324 | ||
| 311 | /** | 325 | /** |
