[Mesa-dev] Proposal to branch off old drivers
Timothy Arceri
tarceri at itsqueeze.com
Fri May 26 12:34:37 UTC 2017
On 26/05/17 21:38, Marek Olšák wrote:
> On May 26, 2017 2:45 AM, "Timothy Arceri" <tarceri at itsqueeze.com
> <mailto:tarceri at itsqueeze.com>> wrote:
>
> Hi all,
>
> Following on from the discussion here:
>
> https://lists.freedesktop.org/archives/mesa-dev/2017-May/155971.html
> <https://lists.freedesktop.org/archives/mesa-dev/2017-May/155971.html>
>
> 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
>
>
> No matter how hard you are trying, there is no real benefit in removing
> any Gallium drivers. Come on, is the PIPE_CAP thing your only argument?
> I can add a new PIPE_CAP case to all gallium drivers in 15 seconds. If
> you can't do that, you need a better editor.
No the reason was the same as all the other drivers. To stop
untested/unmaintained drivers breaking, and to remove various legacy
OpenGL 2.1 < checks from Mesa core.
>
> The only reason for removing a Gallium driver would be if the driver was
> broken or inferior in some way. That might be i915g, but even that is
> kinda a shaky ground.
>
> I thought you'd only ask about removing pre-i915 classic drivers (i.e.
> keeping i915). That would have a higher chance of success.
The pre-i915 drivers are actually not a big deal since they don't
implement many features. In my experience its i915 that gets in the way
a lot of the time.
It seemed like there was more support for this work last week. So I
withdraw my proposal. I'll just hack around the i915 driver like we
always do.
>
> Speaking of those, I think the deprecation branch could be 17.1 itself.
>
> Marek
>
>
> Opinions?
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org <mailto:mesa-dev at lists.freedesktop.org>
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>
>
>
More information about the mesa-dev
mailing list