[Mesa-dev] [RFC] Linux Graphics Next: Explicit fences everywhere and no BO fences - initial proposal

Daniel Vetter daniel at ffwll.ch
Wed Apr 28 09:57:19 UTC 2021

On Wed, Apr 28, 2021 at 11:07:09AM +0200, Michel Dänzer wrote:
> On 2021-04-28 8:59 a.m., Christian König wrote:
> > Hi Dave,
> > 
> > Am 27.04.21 um 21:23 schrieb Marek Olšák:
> >> Supporting interop with any device is always possible. It depends on which drivers we need to interoperate with and update them. We've already found the path forward for amdgpu. We just need to find out how many other drivers need to be updated and evaluate the cost/benefit aspect.
> >>
> >> Marek
> >>
> >> On Tue, Apr 27, 2021 at 2:38 PM Dave Airlie <airlied at gmail.com <mailto:airlied at gmail.com>> wrote:
> >>
> >>     On Tue, 27 Apr 2021 at 22:06, Christian König
> >>     <ckoenig.leichtzumerken at gmail.com <mailto:ckoenig.leichtzumerken at gmail.com>> wrote:
> >>     >
> >>     > Correct, we wouldn't have synchronization between device with and without user queues any more.
> >>     >
> >>     > That could only be a problem for A+I Laptops.
> >>
> >>     Since I think you mentioned you'd only be enabling this on newer
> >>     chipsets, won't it be a problem for A+A where one A is a generation
> >>     behind the other?
> >>
> > 
> > Crap, that is a good point as well.
> > 
> >>
> >>     I'm not really liking where this is going btw, seems like a ill
> >>     thought out concept, if AMD is really going down the road of designing
> >>     hw that is currently Linux incompatible, you are going to have to
> >>     accept a big part of the burden in bringing this support in to more
> >>     than just amd drivers for upcoming generations of gpu.
> >>
> > 
> > Well we don't really like that either, but we have no other option as far as I can see.
> I don't really understand what "future hw may remove support for kernel
> queues" means exactly. While the per-context queues can be mapped to
> userspace directly, they don't *have* to be, do they? I.e. the kernel
> driver should be able to either intercept userspace access to the
> queues, or in the worst case do it all itself, and provide the existing
> synchronization semantics as needed?
> Surely there are resource limits for the per-context queues, so the
> kernel driver needs to do some kind of virtualization / multi-plexing
> anyway, or we'll get sad user faces when there's no queue available for
> <current hot game>.
> I'm probably missing something though, awaiting enlightenment. :)

Yeah in all this discussion what's unclear to me is, is this a hard amdgpu
requirement going forward, in which case you need a time machine and lots
of people to retroactively fix this because this aint fast to get fixed.

Or is this just musings for an ecosystem that better fits current&future
hw, for which I think we all agree where the rough direction is?

The former is quite a glorious situation, and I'm with Dave here that if
your hw engineers really removed the bit to not map the ringbuffers to
userspace, then amd gets to eat a big chunk of the cost here.
Daniel Vetter
Software Engineer, Intel Corporation

More information about the mesa-dev mailing list