Although the current DRM_IOCTL_MODE_CREATE_DUMB interface design only
suits linear buffers, some KMS drivers abuse it for AFBC framebuffers.

Mention it in the interface document, and clarifying that it's not
recommended.

Signed-off-by: Icenowy Zheng <[email protected]>
---
 include/uapi/drm/drm_mode.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index cbbbfc1dfe2b8..02b6fa7ade355 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -1256,6 +1256,10 @@ struct drm_mode_crtc_page_flip_target {
  * Do not attempt to allocate anything but linear framebuffer memory
  * with single-plane RGB data. Allocation of other framebuffer
  * layouts requires dedicated ioctls in the respective DRM driver.
+ * There exists drivers exploiting this interface for framebuffers
+ * with modifiers other than DRM_FORMAT_MOD_LINEAR, but this is
+ * incorrect usage with undefined behavior, and should not be
+ * replicated.
  */
 struct drm_mode_create_dumb {
        __u32 height;
-- 
2.52.0

Reply via email to