Moving code around, post classic

Jason Ekstrand jason at jlekstrand.net
Tue Dec 7 00:32:29 UTC 2021


On Mon, Dec 6, 2021 at 5:50 PM 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)
>
> 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.
>

+1 to the first two.


> 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
>

If we're going to do this, I wonder if we don't want to go even further and
get rid of src/gallium/drivers and move the respective folders to
src/vendor.  So, instead of src/gallium/drivers/(iris|crocus), we'd have
src/intel/gallium/iris and src/intel/gallium/crocus or maybe src/intel/iris
and src/intel/crocus.

--Jason


> 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?
>
>
> Cheers,
> Dylan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20211206/dc10482c/attachment.htm>


More information about the mesa-dev mailing list