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

Brian Paul brianp at vmware.com
Tue Feb 16 22:19:29 UTC 2016


On 02/16/2016 02:41 PM, Dave Airlie wrote:
> 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

I like src/shared/intel/ FWIW.

-Brian



More information about the mesa-dev mailing list