在 2026-02-26四的 17:01 +0100,Thomas Zimmermann写道:
> Hi
> 
> Am 26.02.26 um 07:37 schrieb Icenowy Zheng:
> > 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 {
> 
> Since you're at it, you should move the line at [1] right here as the
> first sentence of this paragraph. Then continue with 'Do not
> attempt'.
> 
> With that change, the previous paragraphs refer to pixel formats and
> the 
> final one refers to framebuffer layout.
> 
> 
> >    * 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
> 
> 'exists user-space software'

Ah the drivers seem to be also criminal to accept this kind of usage,
it's why I thought about writing "drivers" here.

Thanks
Icenowy

> 
> > + * with modifiers other than DRM_FORMAT_MOD_LINEAR, but this is
> 
> Rather 'with non-linear layout'.  The reference to MOD_LINEAR seems
> out 
> of place here.
> 
> > + * incorrect usage with undefined behavior, and should not be
> > + * replicated.
> 
> Best regards
> Thomas
> 
> [1] 
> https://elixir.bootlin.com/linux/v6.19/source/include/uapi/drm/drm_mode.h#L1216
> 
> >    */
> >   struct drm_mode_create_dumb {
> >     __u32 height;

Reply via email to