[Mesa-dev] Linux Graphics Next: Userspace submission update

Christian König ckoenig.leichtzumerken at gmail.com
Wed Jun 2 10:06:14 UTC 2021


Am 02.06.21 um 11:58 schrieb Marek Olšák:
> On Wed, Jun 2, 2021 at 5:44 AM Christian König 
> <ckoenig.leichtzumerken at gmail.com 
> <mailto:ckoenig.leichtzumerken at gmail.com>> wrote:
>
>     Am 02.06.21 um 10:57 schrieb Daniel Stone:
>     > Hi Christian,
>     >
>     > On Tue, 1 Jun 2021 at 13:51, Christian König
>     > <ckoenig.leichtzumerken at gmail.com
>     <mailto:ckoenig.leichtzumerken at gmail.com>> wrote:
>     >> Am 01.06.21 um 14:30 schrieb Daniel Vetter:
>     >>> If you want to enable this use-case with driver magic and
>     without the
>     >>> compositor being aware of what's going on, the solution is
>     EGLStreams.
>     >>> Not sure we want to go there, but it's definitely a lot more
>     feasible
>     >>> than trying to stuff eglstreams semantics into dma-buf implicit
>     >>> fencing support in a desperate attempt to not change compositors.
>     >> Well not changing compositors is certainly not something I
>     would try
>     >> with this use case.
>     >>
>     >> Not changing compositors is more like ok we have Ubuntu 20.04
>     and need
>     >> to support that we the newest hardware generation.
>     > Serious question, have you talked to Canonical?
>     >
>     > I mean there's a hell of a lot of effort being expended here, but it
>     > seems to all be predicated on the assumption that Ubuntu's LTS
>     > HWE/backport policy is totally immutable, and that we might need to
>     > make the kernel do backflips to work around that. But ... is it? Has
>     > anyone actually asked them how they feel about this?
>
>     This was merely an example. What I wanted to say is that we need to
>     support system already deployed.
>
>     In other words our customers won't accept that they need to
>     replace the
>     compositor just because they switch to a new hardware generation.
>
>     > I mean, my answer to the first email is 'no, absolutely not'
>     from the
>     > technical perspective (the initial proposal totally breaks
>     current and
>     > future userspace), from a design perspective (it breaks a lot of
>     > usecases which aren't single-vendor GPU+display+codec, or aren't
>     just
>     > a simple desktop), and from a sustainability perspective (cutting
>     > Android adrift again isn't acceptable collateral damage to make it
>     > easier to backport things to last year's Ubuntu release).
>     >
>     > But then again, I don't even know what I'm NAKing here ... ? The
>     > original email just lists a proposal to break a ton of things, with
>     > proposed replacements which aren't technically viable, and it's not
>     > clear why? Can we please have some more details and some reasoning
>     > behind them?
>     >
>     > I don't mind that userspace (compositor, protocols, clients like
>     Mesa
>     > as well as codec APIs) need to do a lot of work to support the new
>     > model. I do really care though that the hard-binary-switch model
>     works
>     > fine enough for AMD but totally breaks heterogeneous systems and
>     makes
>     > it impossible for userspace to do the right thing.
>
>     Well how the handling for new Android, distributions etc... is
>     going to
>     look like is a completely different story.
>
>     And I completely agree with both Daniel Vetter and you that we
>     need to
>     keep this in mind when designing the compatibility with older
>     software.
>
>     For Android I'm really not sure what to do. In general Android is
>     already trying to do the right thing by using explicit sync, the
>     problem
>     is that this is build around the idea that this explicit sync is
>     syncfile kernel based.
>
>     Either we need to change Android and come up with something that
>     works
>     with user fences as well or we somehow invent a compatibility
>     layer for
>     syncfile as well.
>
>
> What's the issue with syncfiles that syncobjs don't suffer from?

Syncobjs where designed with future fences in mind. In other words we 
already have the ability to wait for a future submission to appear with 
all the nasty locking implications.

Syncfile on the other hand are just a container for up to N kernel 
fences and since we don't have kernel fences any more that is rather 
tricky to keep working.

Going to look into the uAPI around syncfiles once more and see if we can 
somehow use that for user fences as well.

Christian.

>
> Marek

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20210602/2332ac2f/attachment.htm>


More information about the mesa-dev mailing list