[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