Re: turnip driver support for Adreno 5xx gpus

Rob Clark <[email protected]> Fri, 7 Nov 2025 13:34:45 -0800
Newsgroups gmane.comp.video.mesa3d.devel
Message-ID <CAF6AEGvtsBiTNT0yKvgqutWt1URZh2cVyJ9Z900Q8d6e+56yxg@mail.gmail.com>
On Mon, Nov 3, 2025 at 2:38 PM Connor Abbott <[email protected]> wrote:
>
> On Mon, Nov 3, 2025 at 4:09 AM ☺︎□︎■︎♋︎⧫︎♒︎♋︎■︎ <[email protected]> wrote:
> >
> > I know the freedreno turnip docs say that there are no plans for supporting 5xx gpus and lower. I want to ask about why that is.
> > Is there some form of major architectural change between 5xx and 6xx that makes 5xx support take too much work?
>
> Yes. a6xx adds support for bindless descriptors. Using bindless
> descriptors entails completely changing how descriptor handling works
> in the driver, as without bindless descriptors a lot more has to be
> emulated in the driver. Our whole strategy for handling input
> attachments also falls apart if you only have the old bindful
> descriptors and you'd have to do something completely different. This
> is the main hurdle for any a5xx Vulkan driver, and it also means
> VK_EXT_descriptor_indexing and Vulkan 1.2 are impossible on a5xx.
> There are also significant changes in how draw states work which make
> emitting commands much more awkward on a5xx. There are probably other
> things I'm forgetting about here too.
>
> That's not to say that it's impossible, just that it requires someone
> with a lot of expertise to rewrite significant parts of the driver and
> no one currently working on turnip is particularly keen on it as the
> reward is not worth it.

The SET_DRAW_STATE changes between a5xx and a6xx would mean that a5xx
needs a different approach to cmdstream building for hw binning as
well.  Between that and bindless, if someone were to add a5xx vk
support, I suspect it would make more sense to be a different driver
(but maybe w/ some shared helpers) from turnip.

BR,
-R

> Connor
>
> > Is there simply not enough people willing to develop/test the drivers to make support available? Is there some other reason that I can't really think of right now?
> > Another related question: Is there any way to have vulkan support on an adreno 5xx gpu at all on (normal)* Linux distros? I know on custom android-based systems there are drivers that can provide vulkan 1.1 support**, so the hardware is at least capable of support. I mainly ask this because I had an admittedly deranged idea to potentially make an old phone of mine act more like a mini computer by running an arm-based linux os on it, but I would prefer to still have vulkan support.
> > I understand if you aren't able to fully answer some (or all) of the questions I asked, and I'm sorry if this is technically the wrong place to ask.
> >
> > *Normal as in more desktop like, and less android/chromeos/ios like.
> > **This might depend on the device though. The OGL/VK driver I found is under the "LG G5" category, and I can't safely assume that this would 100% work on other hardware.