History

drm/vmwgfx: Update the user-space interface.

When time-based throttling is implemented, we need to bump minor. When the old way of detecting scanout is removed, we need to bump major. In the meantime, this change should not break existing user-space.

Thomas Hellstrom committed 16 years ago

Commit f77cef31 parent e28cab44 files · +21 −8Browse files

Showing the changes to include (1 of 4 files). Show all

Unified · Split

include/drm/vmwgfx_drm.h+9−3
@@ -68,7 +68,8 @@ · 67 unmodified lines
68#define DRM_VMW_PARAM_NUM_FREE_STREAMS 168#define DRM_VMW_PARAM_NUM_FREE_STREAMS 1
69#define DRM_VMW_PARAM_3D 269#define DRM_VMW_PARAM_3D 2
70#define DRM_VMW_PARAM_FIFO_OFFSET 370#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_arg75 * struct drm_vmw_getparam_arg
@@ -181,6 +182,8 @@ struct drm_vmw_context_arg { · 106 unmodified lines
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 { · 5 unmodified lines
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,6 +298,9 @@ union drm_vmw_surface_reference_arg { · 96 unmodified lines
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 an304 * @fence_rep: User-space address of a struct drm_vmw_fence_rep cast to an
299 * uint64_t.305 * uint64_t.
300 *306 *
@@ -304,7 +310,7 @@ union drm_vmw_surface_reference_arg { · 3 unmodified lines
304struct drm_vmw_execbuf_arg {310struct drm_vmw_execbuf_arg {
305 uint64_t commands;311 uint64_t commands;
306 uint32_t command_size;312 uint32_t command_size;
307 uint32_t pad64;313 uint32_t throttle_us;
308 uint64_t fence_rep;314 uint64_t fence_rep;
309};315};
310 316