<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Feb 16, 2016 at 1:21 PM, Olivier Galibert <span dir="ltr"><<a href="mailto:galibert@pobox.com" target="_blank">galibert@pobox.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> Hi,<br>
<br>
I'm getting gpu hangs with the lunarg examples (cube and tri) on my<br>
Haswell (64 bits). I attach /sys/class/drm/card0/error fwiw. How<br>
should I go about debugging that?<br></blockquote><div><br></div><div>It's a depth-stencil issue and we know about it. The gen7 code needs some love. I think Kristian and Jordan have been working on it.<br></div><div>--Jason<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
OG.<br>
<div><div class="h5"><br>
<br>
On Tue, Feb 16, 2016 at 4:19 PM, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br>
> The Intel mesa team is pleased to announce a brand-new open-source Vulkan<br>
> driver for Intel hardware. We've been working hard on this over the course<br>
> of the past year or so and are excited to finally share it with the<br>
> community. We will work on up-streaming the driver in the next few weeks<br>
> and hope to have it all in place in time for mesa 11.3 (mesa 12?). In the<br>
> mean time, the driver can be found in the "vulkan" branch of the mesa git<br>
> repo on <a href="http://freedesktop.org" rel="noreferrer" target="_blank">freedesktop.org</a>:<br>
><br>
> <a href="https://cgit.freedesktop.org/mesa/mesa/log/?h=vulkan" rel="noreferrer" target="_blank">https://cgit.freedesktop.org/mesa/mesa/log/?h=vulkan</a><br>
><br>
> More information on building the driver and running a few simple apps can<br>
> be found on the <a href="http://01.org" rel="noreferrer" target="_blank">01.org</a> web site:<br>
><br>
> <a href="https://01.org/linuxgraphics/blogs/jekstrand/2016/open-source-vulkan-drivers-intel-hardware" rel="noreferrer" target="_blank">https://01.org/linuxgraphics/blogs/jekstrand/2016/open-source-vulkan-drivers-intel-hardware</a><br>
><br>
> We have talked to people at Red Hat and Cannonical and binaries should be<br>
> available for Fedora and Ubuntu soon. We will update the page on <a href="http://01.org" rel="noreferrer" target="_blank">01.org</a><br>
> with links as soon as they are available.<br>
><br>
> We have also created a small test suite called crucible which contains a<br>
> few hundred tests (mostly for miptrees) that we created when bringing up<br>
> the driver. This isn't really intended to be the piglit of vulkan. With<br>
> the CTS being publicly available, most cross-platform tests should go<br>
> there. We mostly made crucible so that we could write a few tests early on<br>
> to get us going and for tests that were targetted specifically at our<br>
> implementation. None the less, they may prove useful to someone and we are<br>
> happy to share them. The crucible source code can be found at<br>
><br>
> <a href="https://cgit.freedesktop.org/mesa/crucible/" rel="noreferrer" target="_blank">https://cgit.freedesktop.org/mesa/crucible/</a><br>
><br>
> Frequently Asked Questions:<br>
><br>
> What all hardware does it support?<br>
><br>
> The driver currently supports Sky Lake all the way back to Ivy Bridge.<br>
> The driver is Vulkan 1.0 conformant for 64-bit builds on Sky Lake,<br>
> Broadwell, and Braswell. We are still having a couple of 32-bit issues<br>
> and support for Haswell, Ivy Bridge, and Bay Trail should be considered<br>
> experimental.<br>
><br>
> How much code is shared between the Vulkan and GL drivers?<br>
><br>
> For shaders, we're using a SPIR-V to NIR pass which is new, and a few<br>
> new NIR lowering passes for things that we previously depended on GLSL<br>
> IR to handle. Beyond that, we're using the same core NIR and the same<br>
> back-end compiler that we have for GL. We're carrying a few patches<br>
> against the back-end compiler, but the delta is very small and it's all<br>
> stuff that we eventually want to do for GL anyway.<br>
><br>
> The main API handling and state setup code is all new and written from<br>
> the ground-up for Vulkan. For actually packing hardware packets, we are<br>
> using a codegen system that Kristian developed early on in the project<br>
> that's based on an XML description of the hardware packets. The result<br>
> is state setup code that's both easier to work with and maybe even a<br>
> little more efficient than what we have in mesa today.<br>
><br>
> We also have a brand-new surface layout library called ISL that handles<br>
> all of the surface layout calculations. ISL should have most of the<br>
> code required to do surface layout all the way back to gen4. Once we<br>
> get aux surface support in ISL (required for HiZ, MSAA compression, and<br>
> CCMS/fast clears), we hope to start using it in the GL driver as well.<br>
><br>
> How much code could be shared with other Vulkan drivers?<br>
><br>
> Not as much as you would think. The SPIR-V to NIR translator and the<br>
> rest of the NIR compiler stack could obviously be re-used by anyone<br>
> willing to tie NIR into their back-end. The rest of the driver is, and<br>
> will probably stay, Intel-specific. Vulkan is a very low-level API,<br>
> possibly even lower-level than gallium. A lot of the things that we<br>
> share between drivers in mesa today: the front-end compiler, state<br>
> tracking, error-handling, etc. is pushed off to either the application<br>
> or third-party layers in the Vulkan world. That said, anyone wishing to<br>
> write their own Vulkan driver, is more than welcome to use ours as a<br>
> reference and steal whatever they'd like from it.<br>
><br>
> What are your up-streaming plans?<br>
><br>
> Before we can land the SPIR-V to NIR layer, there are a number of core<br>
> NIR changes that need to land first. All of that code needs to be<br>
> reviewed as it interacts with the GL driver and we don't want any<br>
> regressions. We are also still carrying a few patches against the i965<br>
> back-end compiler that need a little more testing and proper review. It<br>
> will take some time to get all of that up-stream.<br>
><br>
> Once that is completed and all of the NIR and i965 back-end bits are in<br>
> place, SPIR-V, ISL, and the Vulkan driver itself can probably be merged<br>
> without further review since they are fairly self-contained and are new<br>
> functionality. We should easily be able to get the driver up-stream in<br>
> time for the 11.3 (or 12.0) release.<br>
><br>
> What window-systems are supported?<br>
><br>
> The driver already has window system integration (WSI) support for X11<br>
> with DRI3 and Wayland. The Vulkan WSI extensions don't mesh well with<br>
> DRI2 so supporting that isn't really an option. If you want to Vulkan<br>
> applications under X, you'll need to enable DRI3.<br>
><br>
> Will it run X Vulkan application/demo?<br>
><br>
> Hopefully. Our driver does pass the conformance suite which means the<br>
> chances are pretty good that any given app will at least work. However,<br>
> no test suite is perfect and our driver and the Vulkan ecosystem are<br>
> still young, so there may be bugs. If you do run into problems with an<br>
> application, please file a bug against mesa at <a href="http://bugs.freedesktop.org" rel="noreferrer" target="_blank">bugs.freedesktop.org</a> and<br>
> we will get to it as quickly as we can.<br>
><br>
> Where did Kristian, Jason and Chad go?<br>
><br>
> Well, now you know. :-)<br>
><br>
> We hope you have as much fun hacking on and playing with this driver as we<br>
> did writing it. As always, questions, comments, and bug reports are more<br>
> than welcome. Happy hacking!<br>
><br>
> Best Regards,<br>
> Jason Ekstrand,<br>
> Kristian Høgsberg Kristensen,<br>
> Chad Versace,<br>
> and the rest of the Intel mesa team<br>
><br>
><br>
</div></div>> _______________________________________________<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>
><br>
</blockquote></div><br></div></div>