[Mesa-dev] anv: finishing bay trail support

Jason Ekstrand jason at jlekstrand.net
Sat May 13 17:19:40 UTC 2017


Jonas,

Welcome to mesa-dev!

On May 11, 2017 12:08:01 PM Jonas Kulla <nyocurio at gmail.com> wrote:

> Hello everyone,
>
> I'm a student who's looking to create a small Vulkan demo for my computer
> graphics class; my laptop (CPU: Intel N3540) has an integrated Bay Trail
> chip if I looked that up right, which should be capable of supporting
> Vulkan.

Yes, that is a Bay Trail which can mostly support Vulkan. (More on that later.)


> I saw that Bay Trail support in anv is marked "experimental", and indeed
> running vulkaninfo crashes with
>
> info.c:518: failed with VK_ERROR_INITIALIZATION_FAILED

That doesn't seem right.  I don't know that I've ever fired up our driver 
on a Bay Trail personally but it should mostly work.  I guess you've found 
the first step in your project.  :-)  Getting vulkaninfo working should be 
easy.  Just set a breakpoint in the driver and figure out why it's throwing 
VK_ERROR_INITIALIZATION_FAILED.  If you have a debug build it will probably 
even print the reason out to stderr for you.

> I was wondering if someone could comment on how much work would be
> involved in completing the Bay Trail code in anv, and if it's not too much,
> whether someone would be willing to offer me light mentorship in doing
> so.

Bay trail should be working basically exactly as well as Ivy Bridge which 
means lots of stuff should run though it won't be close to conformant.  
What's missing?  First off, there's probably a bunch of regular bug-fixing 
to do.  Most of the gen7 code is shared with gen8 but there are still a 
bunch of gen7 bugs that no one has bothered to track down.  It shouldn't be 
too bad as we do run Haswell in our CI system and it's down to a couple 
hundred CTS fails last I checked.  Fortunately, the Vulkan test suite is 
fully open-source so you can easily download and run it once you get 
vulkaninfo working.

Beyond just bugfixing, there are also a number of core Vulkan features for 
which gen7 lacks hardware support.  Most of these are features we expose in 
GL so we have some sort of workaround.  The workarounds will have to be 
ported to Vulkan somehow (though it may not be the same workaround in the 
end). Off the top of my head:

 - Texture Swizzle
 - Stencil Texturing
 - Some missing VkFormats
 - vkCmdWaitEvent
 - Missing the MI_MATH stuff required for queries

There may be more that I'm just not remembering.

> I'm mostly comfortable with OpenGL and general graphics / GPU concepts,
> but I have no experience in driver code aside from following Mesa
> development
> as a bystander.

Everyone starts somewhere.  Feel free to dive right in and give it a go!   
If you have any questions along the way, the best way to get answers is 
probably to ask them on #dri-devel or #intel-gfx on IRC.  I'm usually on 
(nick: jekstrand) and am happy to answer questions.

--Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170513/9a4f3259/attachment.html>


More information about the mesa-dev mailing list