diff options
author | Thomas Hellstrom <thellstrom@vmware.com> | 2014-03-18 10:00:56 -0400 |
---|---|---|
committer | Thomas Hellstrom <thellstrom@vmware.com> | 2014-03-28 09:19:03 -0400 |
commit | adebcb20e4ca9330a293c294e1f104edba21dbaf (patch) | |
tree | 09afc68d6963a27e8f2e2e38263e3cd8b6b2c25f /include/uapi | |
parent | 4649926d043205d3693551b36e2ed88a264177a5 (diff) |
drm/vmwgfx: Allow prime fds in the surface reference ioctls
Allow prime fds and at the same time block legacy handles for render-nodes
in the surface reference ioctls. This means these ioctls can be used
directly from prime-aware clients, and that they can be called from
render-nodes.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Diffstat (limited to 'include/uapi')
-rw-r--r-- | include/uapi/drm/vmwgfx_drm.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/uapi/drm/vmwgfx_drm.h b/include/uapi/drm/vmwgfx_drm.h index 87792a5fee3b..4fc66f6b12ce 100644 --- a/include/uapi/drm/vmwgfx_drm.h +++ b/include/uapi/drm/vmwgfx_drm.h | |||
@@ -90,6 +90,15 @@ | |||
90 | #define DRM_VMW_PARAM_MAX_MOB_SIZE 10 | 90 | #define DRM_VMW_PARAM_MAX_MOB_SIZE 10 |
91 | 91 | ||
92 | /** | 92 | /** |
93 | * enum drm_vmw_handle_type - handle type for ref ioctls | ||
94 | * | ||
95 | */ | ||
96 | enum drm_vmw_handle_type { | ||
97 | DRM_VMW_HANDLE_LEGACY = 0, | ||
98 | DRM_VMW_HANDLE_PRIME = 1 | ||
99 | }; | ||
100 | |||
101 | /** | ||
93 | * struct drm_vmw_getparam_arg | 102 | * struct drm_vmw_getparam_arg |
94 | * | 103 | * |
95 | * @value: Returned value. //Out | 104 | * @value: Returned value. //Out |
@@ -177,6 +186,7 @@ struct drm_vmw_surface_create_req { | |||
177 | * struct drm_wmv_surface_arg | 186 | * struct drm_wmv_surface_arg |
178 | * | 187 | * |
179 | * @sid: Surface id of created surface or surface to destroy or reference. | 188 | * @sid: Surface id of created surface or surface to destroy or reference. |
189 | * @handle_type: Handle type for DRM_VMW_REF_SURFACE Ioctl. | ||
180 | * | 190 | * |
181 | * Output data from the DRM_VMW_CREATE_SURFACE Ioctl. | 191 | * Output data from the DRM_VMW_CREATE_SURFACE Ioctl. |
182 | * Input argument to the DRM_VMW_UNREF_SURFACE Ioctl. | 192 | * Input argument to the DRM_VMW_UNREF_SURFACE Ioctl. |
@@ -185,7 +195,7 @@ struct drm_vmw_surface_create_req { | |||
185 | 195 | ||
186 | struct drm_vmw_surface_arg { | 196 | struct drm_vmw_surface_arg { |
187 | int32_t sid; | 197 | int32_t sid; |
188 | uint32_t pad64; | 198 | enum drm_vmw_handle_type handle_type; |
189 | }; | 199 | }; |
190 | 200 | ||
191 | /** | 201 | /** |