<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Feb 16, 2016 at 11:22 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">I'm actually interested about how one goes about debugging that kind<br>
of problem, if you have pointers.  I would have an idea or two on how<br>
to go about it if it was in userspace only, but once it crosses into<br>
the kernel I'm not sure what strategies are best.<br></blockquote><div><br></div><div>This is almost certainly a userspace problem.  I mentioned before that  it's probably a depth/stencil problem.  I remember having similar problems a few months ago when I was reviving gen7.  I know that depth/stencil did work at some point.<br><br>I would start by looking at is where we emit the 3DSTATE_DEPTH_BUFFER and 3DSTATE_STENCIL_BUFFER and trying to see if we're setting something up wrong.  Sometimes it's just a matter of looking at the documentation and comparing the values we're setting to the docs and seeing if the make sense.  That's where I'd start.<br><br></div><div>You could also try to go back a little ways (don't to past the update to 1.0) to see if you can find a point where depth/stencil worked and try and bisect to find where it broke.  That may also provide hints as to what's going wrong.<br><br></div><div>Hope that helps,<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>
Best,<br>
<br>
  OG.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On Wed, Feb 17, 2016 at 2:51 AM, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br>
> On Tue, Feb 16, 2016 at 1:21 PM, Olivier Galibert <<a href="mailto:galibert@pobox.com">galibert@pobox.com</a>><br>
> wrote:<br>
>><br>
>>   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>
><br>
><br>
> It's a depth-stencil issue and we know about it.   The gen7 code needs some<br>
> love.   I think Kristian and Jordan have been working on it.<br>
> --Jason<br>
><br>
>><br>
>><br>
>>   OG.<br>
>><br>
>><br>
>> On Tue, Feb 16, 2016 at 4:19 PM, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br>
>> wrote:<br>
>> > The Intel mesa team is pleased to announce a brand-new open-source<br>
>> > Vulkan<br>
>> > driver for Intel hardware.  We've been working hard on this over the<br>
>> > 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<br>
>> > weeks<br>
>> > and hope to have it all in place in time for mesa 11.3 (mesa 12?).  In<br>
>> > the<br>
>> > mean time, the driver can be found in the "vulkan" branch of the mesa<br>
>> > 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<br>
>> > can<br>
>> > be found on the <a href="http://01.org" rel="noreferrer" target="_blank">01.org</a> web site:<br>
>> ><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<br>
>> > 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.<br>
>> > 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<br>
>> > 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<br>
>> > 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<br>
>> > 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<br>
>> > issues<br>
>> >    and support for Haswell, Ivy Bridge, and Bay Trail should be<br>
>> > 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<br>
>> > GLSL<br>
>> >    IR to handle.  Beyond that, we're using the same core NIR and the<br>
>> > 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<br>
>> > 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<br>
>> > from<br>
>> >    the ground-up for Vulkan.  For actually packing hardware packets, we<br>
>> > are<br>
>> >    using a codegen system that Kristian developed early on in the<br>
>> > project<br>
>> >    that's based on an XML description of the hardware packets.  The<br>
>> > 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<br>
>> > 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,<br>
>> > and<br>
>> >    CCMS/fast clears), we hope to start using it in the GL driver as<br>
>> > 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,<br>
>> > 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<br>
>> > application<br>
>> >    or third-party layers in the Vulkan world.  That said, anyone wishing<br>
>> > 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<br>
>> > 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<br>
>> > i965<br>
>> >    back-end compiler that need a little more testing and proper review.<br>
>> > 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<br>
>> > in<br>
>> >    place, SPIR-V, ISL, and the Vulkan driver itself can probably be<br>
>> > merged<br>
>> >    without further review since they are fairly self-contained and are<br>
>> > new<br>
>> >    functionality.  We should easily be able to get the driver up-stream<br>
>> > 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<br>
>> > X11<br>
>> >    with DRI3 and Wayland.  The Vulkan WSI extensions don't mesh well<br>
>> > with<br>
>> >    DRI2 so supporting that isn't really an option.  If you want to<br>
>> > 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<br>
>> > the<br>
>> >    chances are pretty good that any given app will at least work.<br>
>> > 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<br>
>> > an<br>
>> >    application, please file a bug against mesa at <a href="http://bugs.freedesktop.org" rel="noreferrer" target="_blank">bugs.freedesktop.org</a><br>
>> > 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<br>
>> > we<br>
>> > did writing it.  As always, questions, comments, and bug reports are<br>
>> > 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>
>> > _______________________________________________<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>
><br>
><br>
</div></div></blockquote></div><br></div></div>