Moving code around, post classic

Dave Airlie airlied at
Tue Dec 7 19:45:06 UTC 2021

On Tue, 7 Dec 2021 at 09:51, Dylan Baker <dylan at> 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 ?


More information about the mesa-dev mailing list