[Mesa-dev] Where do we put a Vulkan driver?

Dave Airlie airlied at gmail.com
Tue Feb 16 21:41:44 UTC 2016


On 17 February 2016 at 04:39, Jason Ekstrand <jason at jlekstrand.net> wrote:
> So, we just pushed a branch containing a Vulkan driver.  Naturally, we
> would like to incorporate that driver into the upstream mesa tree.  While
> we work on upstreaming the prerequisites in NIR and the i965 back-end
> compiler, there is a question that needs answering:  Where do we put it?
>
> The Vulkan driver challenges the tree-like nature of the way mesa is
> currently organized.  We now have two drivers that share a lot of the same
> underlying hardware-specific code (compiler and ISL) but target different
> APIs and no gallium-like middle layer to hide behind.  Obviously, we don't
> want to put a Vulkan driver in src/mesa/drivers/dri/i965.  If we start a
> src/vulkan directory, we don't really want to put the shared parts into
> src/vulkan/intel.  Where should we put the Intel-specific but API-agnostic
> bits?  In particular, we need a place to put ISL and the back-end compiler.
> We don't want to deal with the headaches of making a public API and keeping
> it stable, so they need to live somewhere in the mesa tree.
>
> In my personal opinion, the best thing to do is probably to add a src/intel
> folder with subfolders for vulkan, isl, and the back-end compiler.  The
> src/mesa/drivers/dri/i965 folder would then basically be just the GL bits
> of the driver.  It does seem a little odd to have "intel" as a top-level
> source folder, but I can't come up with anything better.
>
> Thoughts?  Opinions?  Favorite colors?

I don't think we'll get this right the first time, and when we
randomly decide to
change it we can just make poor Emil handle the fallout. :-P

Anyways,

src/intel works for me, also src/shed/intel, src/shared/intel, src/drivers/intel

Dave.


More information about the mesa-dev mailing list