[Mesa-dev] Remove classic drivers or fork src/mesa for gallium?

Eric Engestrom eric at engestrom.ch
Wed Dec 4 18:53:31 UTC 2019


On Wednesday, 2019-12-04 09:48:28 -0800, Eric Anholt wrote:
> On Tue, Dec 3, 2019 at 4:39 PM Marek Olšák <maraeo at gmail.com> wrote:
> >
> > Hi,
> >
> > Here are 2 proposals to simplify and better optimize the GL->Gallium translation.
> >
> > 1) Move classic drivers to a fork of Mesa, and remove them from master. Classic drivers won't share any code with master. glvnd will load them, but glvnd is not ready for this yet.
> >
> > 2) Keep classic drivers. Fork src/mesa for Gallium. I think only mesa/main, mesa/vbo, mesa/program, and drivers/dri/common need to be forked and mesa/state_tracker moved. src/gallium/state-trackers/gl/ can be the target location.
> >
> > Option 2 is more acceptable to people who want to keep classic drivers in the tree and it can be done right now.
> 
> (resending reply-all)
> 
> I object to both of these.  They increase work for Mesa folks like me
> who do tree-wide work.
> 
> I feel like we're finally (formats, util/ helpers, etc.) paying down
> the technical debt that we built with gallium copying so much of
> src/mesa/main, and saying "let's go duplicate more code so we can do
> some unspecified optimization work" gets me really upset.

I have to agree there, I don't really see the benefit that could offset
the huge cost of forking the repo or duplicating the folders.

I've had extensive experience at $PREV_JOB with people just duplicating
everything "for the new generation" or "to better organise the code",
and the end result was absolutely unmaintainable and is costing everyone
working on it a seriously large multiplying factor on their work as they
had to copy their changes across and deal with all the changes that
hadn't been copied across by other devs.

They are now wasting huge amount of effort to de-duplicate everything so
that they can get to a point where they can maintain it again.

Let's not make the same mistake :)


I think if we really want to get rid of classic drivers, we should just
delete them from master and not support them at all anymore.
I don't think we're ready for that yet, especially not with i965, but in
a year or so I think that's the best move.


More information about the mesa-dev mailing list