On 5/12/19 8:48, Kenneth Graunke wrote:
On Tuesday, December 3, 2019 4:39:15 PM PST Marek Olšák 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.

Opinions?

Thanks,
Marek
FWIW, I am not in favor of either plan for the time being.

- I agree with Eric that we're finally starting to clean up and
   de-duplicate things, and pay off technical debt we've put off for
   a long time.  I think forking everything in-tree would just be a
   giant mess.

- I agree with Dave that this seems to be a giant hassle for our
   downstreams with little benefit for them in the short term.

- Shuffling r100/r200/i915/nouveau_vieux off to a legacy fork seems
   like a fine plan.  They're ancient hardware that can't (or barely
   can) do GL 2.x.  Nothing much has happened with them in years,
   and I'm not sure all of them even really have maintainers.

   The main blocker here I think would be ironing out all the glvnd
   issues and making sure that is working solidly for everyone.
   (FWIW, glvnd is not even enabled by default in our build system!)

- Shuffling i965 off to legacy is really premature I think.  Iris
   isn't even shipping in distros yet (hopefully soon!), and even
   then, we have a _ton_ of Haswell users.  Check the Phoronix
   comments if you want to see how pissed off people are about even
   bringing up this topic.  (Or better yet, don't...basic human
   decency toward others seems to be lacking.  Hooray, internet...)

- Writing a Gallium driver for Intel Gen4-7.5 would be interesting.

   I've been thinking about this some, and it might be possible to
   retain some of the niceties of the iris memory model even on older
   hardware, by relying on a modern kernel and possibly making some
   (hopefully minor) improvements.  Even if we didn't, going back to
   the i965 model wouldn't be the worst thing.  The new driver would
   almost certainly be faster than i965, if not as good as iris.

   ajax and I were planning to call it crocus, if I wrote one.  I don't
   think it would take nearly as long.  But it's still a bunch of time
   that I don't think I can justify spending.  The new hardware can do
   so much more, and is so much faster, and much lower power.  I think
   it would be better for me to spend my time on Gen11+.

- Vulkan has really taken off, and OpenGL feels increasingly like a
   dead end.  DXVK has brought more games than we had with native ports.
   Feral is even reworking some native OpenGL ports to use Vulkan.  New
   graphics features are happening in the Vulkan space.

   So, I kind of wonder whether it's worth our time to go through and
   massively clean up and rearchitecture the OpenGL drivers at this
   point.  By the time we're finished, will anyone care?

- Are there concrete things that are prohibitively expensive with
   classic around?  Otherwise, Eric's suggestion of "so go do that!"
   sounds like a good idea.  We've started finally merging a bunch
   of code and I think this is a positive direction.

I'd say let's shelve this for now and think about it again later.
I suspect in a year or so the calculus will look fairly different.


Although I think that it is somewhat early to think that OpenGL is nearly a dead end, FWIW, I agree in general with Kenneth analysis and suggestions here.

BR

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to