<div dir="ltr">Good work guys!  Welcome to the Open-source Vulkan club :)<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 19, 2016 at 12:59 PM, Dave Airlie <span dir="ltr"><<a href="mailto:airlied@gmail.com" target="_blank">airlied@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I was waiting for an open source driver to appear when I realised I<br>
should really just write one myself, some talking with Bas later, and<br>
we decided to see where we could get.<br>
<br>
This is the point at which we were willing to show it to others, it's<br>
not really a vulkan driver yet, so far it's a vulkan triangle demos<br>
driver.<br>
<br>
It renders the tri and cube demos from the vulkan loader,<br>
and the triangle demo from Sascha Willems demos<br>
and the Vulkan CTS smoke tests (all 4 of them one of which draws a triangle).<br>
<br>
There is a lot of work to do, and it's at the stage where we are<br>
seeing if anyone else wants to join in at the start, before we make<br>
too many serious design decisions or take a path we really don't want<br>
to.<br>
<br>
So far it's only been run on Tonga and Fiji chips I think, we are<br>
hoping to support radeon kernel driver for SI/CIK at some point, but I<br>
think we need to get things a bit further on VI chips first.<br>
<br>
The code is currently here:<br>
<a href="https://github.com/airlied/mesa/tree/semi-interesting" rel="noreferrer" target="_blank">https://github.com/airlied/mesa/tree/semi-interesting</a><br>
<br>
There is a not-interesting branch which contains all the pre-history<br>
which might be useful for someone else bringing up a vulkan driver on<br>
other hardware.<br>
<br>
The code is pretty much based on the Intel anv driver, with the winsys<br>
ported from gallium driver,<br>
and most of the state setup from there. Bas wrote the code to connect<br>
NIR<->LLVM IR so we could reuse it in the future for SPIR-V in GL if<br>
required. It also copies AMD addrlib over, (this should be shared).<br>
<br>
Also we don't do SPIR-V->LLVM direct. We use NIR as it has the best<br>
chance for inter shader stage optimisations (vertex/fragment combined)<br>
which neither SPIR-V or LLVM handles for us, (nir doesn't do it yet<br>
but it can).<br>
<br>
If you want to submit bug reports, they will only be taken seriously<br>
if accompanied by working patches at this stage, and we've no plans to<br>
merge to master yet, but open to discussion on when we could do that<br>
and what would be required.<br>
<br>
Dave.<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div><br></div>