Jonas,

Welcome to mesa-dev!

On May 11, 2017 12:08:01 PM Jonas Kulla <nyocu...@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
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to