Hi Daniel-san,
On 2021/11/30 22:20, Daniel Stone wrote:
On Tue, 30 Nov 2021 at 08:44, Esaki Tomohito <etom@xxxxxxxxxx> wrote:
On 2021/11/18 23:05, Laurent Pinchart wrote:
On Thu, Nov 18, 2021 at 01:02:11PM +0000, Daniel Stone wrote:
Laurent's concern is that the DRM core should handle this rather than
open-coding in every driver, which I agree with. Some drivers (e.g.
radeon, maybe legacy NV?) do not support modifiers, and _also_ do
magic inference of the actual layout of the underlying buffer.
However, these drivers are legacy and we do not accept any new
addition of inferring layout without modifiers.
I think the best way forward here is:
- add a new mode_config.cannot_support_modifiers flag, and enable
this in radeon (plus any other drivers in the same boat)
Is there an easy way to identify the drivers that need this ?
Should I find a driver that has not use drm_plane_funcs?
I don't think there's a good way to systematically audit it. The only
two I know are radeon (i.e. pre-amdgpu) and nouveau (pre-nv50), both
of which pass no modifiers to drm_universal_plane_init(), but do have
magic back channels to communicate tiling information. If anyone knows
of any others, well, I guess we'll find out. :)
Thanks for the information.
I checked the driver code with the tiling keyword, and it seems that
these are the only two drivers that require cannot_support_modifiers.
I will start creating patches for these two drivers first.
--
Best Regards
Tomohito Esaki