[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZnxVWrFJKbVO8PZ0@phenom.ffwll.local>
Date: Wed, 26 Jun 2024 19:52:26 +0200
From: Daniel Vetter <daniel@...ll.ch>
To: Daniel Stone <daniel@...ishbar.org>
Cc: Lucas Stach <l.stach@...gutronix.de>, Daniel Vetter <daniel@...ll.ch>,
Tomeu Vizoso <tomeu@...euvizoso.net>, linux-kernel@...r.kernel.org,
Oded Gabbay <ogabbay@...nel.org>,
Russell King <linux+etnaviv@...linux.org.uk>,
Christian Gmeiner <christian.gmeiner@...il.com>,
David Airlie <airlied@...il.com>, etnaviv@...ts.freedesktop.org,
dri-devel@...ts.freedesktop.org,
Daniel Stone <daniels@...labora.com>
Subject: Re: [PATCH] drm/etnaviv: Create an accel device node if compute-only
On Wed, Jun 26, 2024 at 11:39:01AM +0100, Daniel Stone wrote:
> Hi,
>
> On Wed, 26 Jun 2024 at 09:28, Lucas Stach <l.stach@...gutronix.de> wrote:
> > Mesa doesn't cope right now. Mostly because of the renderonly thing
> > where we magically need to match render devices to otherwise render
> > incapable KMS devices. The way this matching works is that the
> > renderonly code tries to open a screen on a rendernode and if that
> > succeeds we treat it as the matching render device.
> >
> > The core of the issue is that we have no way of specifying which kind
> > of screen we need at that point, i.e. if the screen should have 3D
> > render capabilities or if compute-only or even NN-accel-only would be
> > okay. So we can't fail screen creation if there is no 3D engine, as
> > this would break the teflon case, which needs a screen for the NN
> > accel, but once we successfully create a screen reanderonly might treat
> > the thing as a rendering device.
> > So we are kind of stuck here between breaking one or the other use-
> > case. I'm leaning heavily into the direction of just fixing Mesa, so we
> > can specify the type of screen we need at creation time to avoid the
> > renderonly issue, porting this change as far back as reasonably
> > possible and file old userspace into shit-happens.
>
> Yeah, honestly this sounds like the best solution to me too.
Yeah mesa sounds kinda broken here ...
What might work in the kernel is if you publish a fake 3d engine that's
too new for broken mesa, if that's enough to make it fail to bind? And if
mesa still happily binds against that, then yeah it's probably too broken
and we need etnaviv-v2 (as a drm driver uapi name, I think that's what
mesa filters?) for anything new (including the NN-only ones).
I would still try to avoid that, but just in case someone screams about
regressions.
-Sima
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
Powered by blists - more mailing lists