Message ID | 20230120105858.214440-1-diogo.ivo@tecnico.ulisboa.pt |
---|---|
Headers | show |
Series | drm/tegra: handle implicit scanout modifiers | expand |
On Fri, Jan 20, 2023 at 10:58:56AM +0000, Diogo Ivo wrote: > Hello! > > This patch series adds support for correctly displaying tiled > framebuffers when no modifiers are reported by userspace. > > Patch 1 adds the sector_layout parameter to the SET/GET_TILING > IOCTLs so that userspace can set this field appropriately. > > Patch 2 adds handling of the case where the buffer object > passed to create a framebuffer is allocated with non-linear > tiling but no modifier is reported. > > Diogo Ivo (2): > drm/tegra: add sector layout to SET/GET_TILING IOCTLs > drm/tegra: add scanout support for implicit tiling parameters > > drivers/gpu/drm/tegra/drm.c | 29 ++++++++++++++++++ > drivers/gpu/drm/tegra/fb.c | 59 ++++++++++++++++++++++++++++++++++-- > include/uapi/drm/tegra_drm.h | 16 ++++++---- > 3 files changed, 96 insertions(+), 8 deletions(-) We really don't want to use SET_TILING and GET_TILING IOCTLs anymore. These only exist for backwards compatibility with very old userspace. New code should use standard DRM/KMS mechanisms to deal with framebuffer modifiers. Thierry
On Tue, Jan 24, 2023 at 03:25:09PM +0100, Thierry Reding wrote: > On Fri, Jan 20, 2023 at 10:58:56AM +0000, Diogo Ivo wrote: > > Hello! > > > > This patch series adds support for correctly displaying tiled > > framebuffers when no modifiers are reported by userspace. > > > > Patch 1 adds the sector_layout parameter to the SET/GET_TILING > > IOCTLs so that userspace can set this field appropriately. > > > > Patch 2 adds handling of the case where the buffer object > > passed to create a framebuffer is allocated with non-linear > > tiling but no modifier is reported. > > > > Diogo Ivo (2): > > drm/tegra: add sector layout to SET/GET_TILING IOCTLs > > drm/tegra: add scanout support for implicit tiling parameters > > > > drivers/gpu/drm/tegra/drm.c | 29 ++++++++++++++++++ > > drivers/gpu/drm/tegra/fb.c | 59 ++++++++++++++++++++++++++++++++++-- > > include/uapi/drm/tegra_drm.h | 16 ++++++---- > > 3 files changed, 96 insertions(+), 8 deletions(-) > > We really don't want to use SET_TILING and GET_TILING IOCTLs anymore. > These only exist for backwards compatibility with very old userspace. > New code should use standard DRM/KMS mechanisms to deal with > framebuffer modifiers. Hello, Thank you for your review! This implementation is basically a copy of what vc4 already does when importing resources with no modifiers specified by userspace. I looked into the DRM/KMS infrastructure and did not find a mechanism to do this, but perhaps I am missing something; if this is the case, I would be happy to submit a more fitting implementation, since handling these implicit modifiers allows us to lift the restriction of linear scanout buffers. Best regards, Diogo