|
@@ -142,11 +142,11 @@
|
|
|
|
|
|
static const struct drm_ioctl_desc vmw_ioctls[] = {
|
|
|
VMW_IOCTL_DEF(VMW_GET_PARAM, vmw_getparam_ioctl,
|
|
|
- DRM_AUTH | DRM_UNLOCKED),
|
|
|
+ DRM_AUTH | DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_ALLOC_DMABUF, vmw_dmabuf_alloc_ioctl,
|
|
|
- DRM_AUTH | DRM_UNLOCKED),
|
|
|
+ DRM_AUTH | DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_UNREF_DMABUF, vmw_dmabuf_unref_ioctl,
|
|
|
- DRM_UNLOCKED),
|
|
|
+ DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_CURSOR_BYPASS,
|
|
|
vmw_kms_cursor_bypass_ioctl,
|
|
|
DRM_MASTER | DRM_CONTROL_ALLOW | DRM_UNLOCKED),
|
|
@@ -159,29 +159,28 @@ static const struct drm_ioctl_desc vmw_ioctls[] = {
|
|
|
DRM_MASTER | DRM_CONTROL_ALLOW | DRM_UNLOCKED),
|
|
|
|
|
|
VMW_IOCTL_DEF(VMW_CREATE_CONTEXT, vmw_context_define_ioctl,
|
|
|
- DRM_AUTH | DRM_UNLOCKED),
|
|
|
+ DRM_AUTH | DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_UNREF_CONTEXT, vmw_context_destroy_ioctl,
|
|
|
- DRM_UNLOCKED),
|
|
|
+ DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_CREATE_SURFACE, vmw_surface_define_ioctl,
|
|
|
- DRM_AUTH | DRM_UNLOCKED),
|
|
|
+ DRM_AUTH | DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_UNREF_SURFACE, vmw_surface_destroy_ioctl,
|
|
|
- DRM_UNLOCKED),
|
|
|
+ DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_REF_SURFACE, vmw_surface_reference_ioctl,
|
|
|
- DRM_AUTH | DRM_UNLOCKED),
|
|
|
+ DRM_AUTH | DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_EXECBUF, vmw_execbuf_ioctl,
|
|
|
- DRM_AUTH | DRM_UNLOCKED),
|
|
|
+ DRM_AUTH | DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_FENCE_WAIT, vmw_fence_obj_wait_ioctl,
|
|
|
- DRM_AUTH | DRM_UNLOCKED),
|
|
|
+ DRM_AUTH | DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_FENCE_SIGNALED,
|
|
|
vmw_fence_obj_signaled_ioctl,
|
|
|
- DRM_AUTH | DRM_UNLOCKED),
|
|
|
+ DRM_AUTH | DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_FENCE_UNREF, vmw_fence_obj_unref_ioctl,
|
|
|
- DRM_UNLOCKED),
|
|
|
- VMW_IOCTL_DEF(VMW_FENCE_EVENT,
|
|
|
- vmw_fence_event_ioctl,
|
|
|
- DRM_AUTH | DRM_UNLOCKED),
|
|
|
+ DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
+ VMW_IOCTL_DEF(VMW_FENCE_EVENT, vmw_fence_event_ioctl,
|
|
|
+ DRM_AUTH | DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_GET_3D_CAP, vmw_get_cap_3d_ioctl,
|
|
|
- DRM_AUTH | DRM_UNLOCKED),
|
|
|
+ DRM_AUTH | DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
|
|
|
/* these allow direct access to the framebuffers mark as master only */
|
|
|
VMW_IOCTL_DEF(VMW_PRESENT, vmw_present_ioctl,
|
|
@@ -194,19 +193,19 @@ static const struct drm_ioctl_desc vmw_ioctls[] = {
|
|
|
DRM_MASTER | DRM_UNLOCKED),
|
|
|
VMW_IOCTL_DEF(VMW_CREATE_SHADER,
|
|
|
vmw_shader_define_ioctl,
|
|
|
- DRM_AUTH | DRM_UNLOCKED),
|
|
|
+ DRM_AUTH | DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_UNREF_SHADER,
|
|
|
vmw_shader_destroy_ioctl,
|
|
|
- DRM_UNLOCKED),
|
|
|
+ DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_GB_SURFACE_CREATE,
|
|
|
vmw_gb_surface_define_ioctl,
|
|
|
- DRM_AUTH | DRM_UNLOCKED),
|
|
|
+ DRM_AUTH | DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_GB_SURFACE_REF,
|
|
|
vmw_gb_surface_reference_ioctl,
|
|
|
- DRM_AUTH | DRM_UNLOCKED),
|
|
|
+ DRM_AUTH | DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
VMW_IOCTL_DEF(VMW_SYNCCPU,
|
|
|
vmw_user_dmabuf_synccpu_ioctl,
|
|
|
- DRM_AUTH | DRM_UNLOCKED),
|
|
|
+ DRM_AUTH | DRM_UNLOCKED | DRM_RENDER_ALLOW),
|
|
|
};
|
|
|
|
|
|
static struct pci_device_id vmw_pci_id_list[] = {
|
|
@@ -1406,7 +1405,7 @@ static const struct file_operations vmwgfx_driver_fops = {
|
|
|
|
|
|
static struct drm_driver driver = {
|
|
|
.driver_features = DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED |
|
|
|
- DRIVER_MODESET | DRIVER_PRIME,
|
|
|
+ DRIVER_MODESET | DRIVER_PRIME | DRIVER_RENDER,
|
|
|
.load = vmw_driver_load,
|
|
|
.unload = vmw_driver_unload,
|
|
|
.lastclose = vmw_lastclose,
|