[PATCH] drm/doc: Document that modifiers are always required for fb

Daniel Vetter daniel.vetter at ffwll.ch
Wed Sep 2 14:29:45 UTC 2020


On Wed, Sep 2, 2020 at 2:49 PM Simon Ser <contact at emersion.fr> wrote:
>
> On Wednesday, September 2, 2020 2:44 PM, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
>
> > > I suppose something similar happens in user-space: gbm_bo_create
> > > without modifiers needs to properly set the implicit modifier, ie.
> > > gbm_bo_get_modifier needs to return the effective modifier. Is this
> > > something already documented?
> >
> > I don't think that happens, but it has come up in discussions. It's
> > kinda different scenario though: getfb2 is for cross-compositor stuff,
> > enabling smooth transitions at boot-up and when switching. So you have
> > a legit reason for mixing modifier-aware userspace with
> > non-modifier-aware userspace. And the modifier-aware userspace would
> > like that everything works with modifiers consistently, including
> > getfb2. But gbm is just within a single process, and that should
> > either run all with modifiers, or not at all, since these worlds just
> > dont mix well. Hence I'm not seeing much use for that, -modesetting
> > being a confused mess nonwithstanding :-)
>
> Well… There's also the case where some legacy Wayland client talks to a
> modifier-aware compositor. gbm_bo_import would be called without a
> modifier, but the compositor expects gbm_bo_get_modifier to work.
>
> Also, wlroots will call gbm_bo_create without a modifier to only let
> the driver pick "safe" modifiers in case passing the full list of
> modifiers results in a black screen. Later on wlroots will call
> gbm_bo_get_modifier to figure out what modifier the driver picked.

gbm_bo_import is a different thing from gbm_bo_create. Former I agree
should figure out the right modifiers (and I think it does that, at
least on intel mesa). For gbm_bo_create I'm not sure we should/need to
require that.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list