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