[Mesa-dev] Proposal to branch off old drivers

Brian Paul brianp at vmware.com
Fri May 26 14:16:42 UTC 2017


On 05/25/2017 06:45 PM, Timothy Arceri wrote:
> Hi all,
>
> Following on from the discussion here:
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.freedesktop.org_archives_mesa-2Ddev_2017-2DMay_155971.html&d=DwIGaQ&c=uilaK90D4TOVoH58JNXRgQ&r=Ie7_encNUsqxbSRbqbNgofw0ITcfE8JKfaUjIQhncGA&m=gm5GImkP-Ydr8Pd1vhXbWJvFSmS_MUND5KGjOHQpVOU&s=2xNPkqm6U5phLP1RHR5BfKOC5fpPplnj9U1FAZvCuAM&e=
>
> Back in 2011/12 despite various concerns old hardware would become
> useless, dropping support for DRI1 drivers Mesa proved distros were up
> to the challenge of packaging up the old driver branch, and since we
> maintain compatibility they continue to work without issue.
>
> I'm currently working on uniform packing for gallium drivers which means
> updates to struct gl_program_parameter_list and the assumption that
> everything is padded to 4 vectors. Rather than updating and testing i915
> to work with this (or even hacking around it), I'd rather make the
> proposal to branch off some older drivers.
>
> Why branch them off?
>
> 1. IMO there is a bunch of clean-up this would enable such as:
>
> - enabling a bunch of extensions by default and removing on the runtime
> checks for these pasted all over the api.
> - dropping a bunch of non asm mesa ir code paths
> - dropping a bunch of driver function callbacks
> - the software tnl code??
> - Likely a bunch of other bits and pieces.
>
> 2. They are either not in development at all, or being updated extremely
> rarely. Testing is often just does this code compile. Having them in
> master just opens them to the possibility of breakage.
>
> 3. Death by a thousand cuts. While the clean-ups above may not be huge I
> would argue a more important outcome is the ability to preform
> re-factors, add features, etc without needlessly updating these drivers.
>
> As someone who re-factored the main gl_* structs last year in the lead
> up to shader cache support, I can say my job would have been much easier
> if I didn't have to needlessly update the old classic drivers.
> On the gallium side there is are things like adding caps to all the
> drivers etc, again not huge but another cut.
>
> 4. As the API expands it just adds more overhead for features these
> drivers will mostly never support. The drivers likely already run on
> systems with much slower cpus.
>
> My specific proposal is:
>
> - Rather than just pointing distros at the last Mesa release as we did
> for the DRI1 driver, we create a mesa-pre-dx9-1.0 branch (branched from
> 17.1). However unlikely this will at least give us the possibility to
> release updates as some dev's have shown interest in.
>
> - Remove the following drivers from master:
>     Classic:
>     --------
>     i915, nouveau, r200, radeon, swrast (classic)
>
>     Gallium:
>     --------
>     r300, i915g
>
> Opinions?

I think a key point is what do the distro vendors think/want?  That is, 
do vendors such as Fedora, Ubuntu, etc. perceive a need to keep 
supporting the older GPUs?  It would be extra work for them to 
build/package/ship ToT Mesa plus drivers from a deprecated driver branch.

This is an instance where I'd love to be able to poll the user community 
to see what GPUs people still care about.  I don't know if the distro 
vendors have such data about their user's hardware.

Though, I have a feeling that if someone's still using i915, r200, 
radeon, etc. (and want to use the latest distros) they're not too 
concerned about 3D performance and just want reasonable desktop 
performance.  Would they be happy with llvmpipe?

-Brian




More information about the mesa-dev mailing list