diff options
author | Dave Airlie <airlied@redhat.com> | 2011-02-06 21:16:14 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-02-06 21:16:14 -0500 |
commit | ff72145badb834e8051719ea66e024784d000cb4 (patch) | |
tree | 39dc5fc512e3e0836713de9defb91ea8b4033aa2 /include/drm/drm_crtc.h | |
parent | 1f692a14cbfbeb11f9a9c16f25c8ecb8ab50d3d5 (diff) |
drm: dumb scanout create/mmap for intel/radeon (v3)
This is just an idea that might or might not be a good idea,
it basically adds two ioctls to create a dumb and map a dumb buffer
suitable for scanout. The handle can be passed to the KMS ioctls to create
a framebuffer.
It looks to me like it would be useful in the following cases:
a) in development drivers - we can always provide a shadowfb fallback.
b) libkms users - we can clean up libkms a lot and avoid linking
to libdrm_*.
c) plymouth via libkms is a lot easier.
Userspace bits would be just calls + mmaps. We could probably
mark these handles somehow as not being suitable for acceleartion
so as top stop people who are dumber than dumb.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'include/drm/drm_crtc.h')
-rw-r--r-- | include/drm/drm_crtc.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 801be59f4f15..080a6e33470e 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h | |||
@@ -798,4 +798,11 @@ extern int drm_add_modes_noedid(struct drm_connector *connector, | |||
798 | extern bool drm_edid_is_valid(struct edid *edid); | 798 | extern bool drm_edid_is_valid(struct edid *edid); |
799 | struct drm_display_mode *drm_mode_find_dmt(struct drm_device *dev, | 799 | struct drm_display_mode *drm_mode_find_dmt(struct drm_device *dev, |
800 | int hsize, int vsize, int fresh); | 800 | int hsize, int vsize, int fresh); |
801 | |||
802 | extern int drm_mode_create_dumb_ioctl(struct drm_device *dev, | ||
803 | void *data, struct drm_file *file_priv); | ||
804 | extern int drm_mode_mmap_dumb_ioctl(struct drm_device *dev, | ||
805 | void *data, struct drm_file *file_priv); | ||
806 | extern int drm_mode_destroy_dumb_ioctl(struct drm_device *dev, | ||
807 | void *data, struct drm_file *file_priv); | ||
801 | #endif /* __DRM_CRTC_H__ */ | 808 | #endif /* __DRM_CRTC_H__ */ |