Moving code around, post classic
maraeo at gmail.com
Tue Dec 7 20:33:37 UTC 2021
While the current directory structure is confusing, the new suggested
directory structure might not be helpful because GL is more spread out
mapi is libglapi, so it seems to be its own thing, not a gallium thing
glx is libgl, same thing.
egl is libegl, same thing.
... unless we want to merge all libs with all drivers into one mega lib
built by gallium.
loader is more like util. mapi is partially util too besides being a lib.
On Tue, Dec 7, 2021 at 2:45 PM Dave Airlie <airlied at gmail.com> wrote:
> On Tue, 7 Dec 2021 at 09:51, Dylan Baker <dylan at pnwbakers.com> wrote:
> > Classic is gone, and the cleanups have begun, obviously. There is
> > another cleanup that I had in mind, which is moving src/mesa into
> > src/gallium/frontends/mesa. This makes the build system a little
> > cleaner, as currently we do some bending over backwards to get gallium,
> > mesa, and their tests built in the right order. But that's a big ol `git
> > mv`, and when I proposed it Dave and Ilia suggested it would be best to
> > do all of the post-classic code motion at once. So, let's talk about
> > what we want to move, and where we want to move it.
> > Among the suggestions we had were:
> > 1. Move src/mesa into src/gallium/frontends/mesa (I have patches for
> > this)
> > Seems like a pretty obvoius thing to do, given that all of the other
> > gallium state trackers live there (OpenCL, video, d3d9, etc)
> I'm against this just for history finding reasons, although git tracks
> file renames it AFAIK fails to track directories, so you can only
> follow the files not the whole subdir back through history once you
> move it.
> But I guess enough people want to see it happen, and it will.
> > 2. Move src/compiler/glsl into src/gallium/frontends/mesa as well
> > Given that there are now no? drivers that use GLSL-IR directly, it
> > might make sense to move the glsl compiler into the mesa
> > state_tracker, and just have that lower to TGSI or NIR, and treat
> > GLSL-IR as an implementation detail of the OpenGL frontend.
> > Unfortunately, there are a lot of code outside of glsl that uses the
> > linked list implementation in the glsl compiler, and not the on in
> > util.
> > 3. Move src/gallium* to src/
> > This was suggested, though given the existance of Vulkan, it wasn't
> > clear that this was a good idea or not
> > 4. What to do about the src/loader, src/glx, src/egl, src/mapi,
> > src/glapi
> > These are all part of OpenGL, but not really part of gallium, but if
> > we don't move src/gallium/* to src/ does it make sense to leave them
> > in the root?
> src/opengl ?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the mesa-dev