Hi Joao,

On Fri, 26 Apr 2024 at 08:42, Joao Paulo Silva Goncalves
<jpaulo.silvagoncal...@gmail.com> wrote:
> On Thu, Apr 25, 2024 at 9:08 AM Lucas Stach <l.st...@pengutronix.de> wrote:
> > I can reproduce the issue, but sadly there is no simple fix for this,
> > as it's a bad interaction between some of the new features.
> > At the core of the issue is the dmabuf-feedback support with the chain
> > of events being as follows:
>
> > 1. weston switches to the scanout tranche, as it would like to put the
> > surface on a plane
> > 2. the client reallocates as linear but does so on the render node
> > 3. weston still isn't able to put the buffer on the plane, as it's
> > still scanout incompatible due to being non-contig, so needs to fall
> > back to rendering
> > 4. now we are stuck at a linear buffer being used for rendering, which
> > is very non-optimal
>
> > I'll look into improving this, but can make no commitments as to when
> > I'll be able to get around to this.
>
> Seem to be tricky.
> If you want, we at least can help you test it. Just reach out.
> We also saw similar behaviour on more modern hardware, like the iMX8MM.
> I will do a bit more testing on the iMX8MM and also some on the iMX8MP to 
> geather more data and
> I am thinking in also opening an issue on the gitlab of Mesa, for better 
> tracking. What do you think?

One thing you can try is to edit
weston/libweston/backend-drm/state-propose.c and, inside
dmabuf_feedback_maybe_update(), prevent action_needed from ever being
set to ACTION_NEEDED_ADD_SCANOUT_TRANCHE. It would be interesting to
know if this restores full performance.

Cheers,
Daniel

Reply via email to