What's the current status of their Vulkan implementation?
TL;DRVulkan is going well, in three stages (cleaning up global state, refactoring render passes, building the backend), with the first two already underway and expected to benefit DX11, and it isn't all-or-nothing.
Vulkan's going good. They had a summit a little while ago where the Engine Team and everyone on the rendering side got together to discuss what it is that they need to do, where they add and who's going to take on what. It's broken down into three stages: Stage One is where they clean up the use of the global state and the rendering code, which has been underway for approximately the last few months; Stage Two is a refactor of the render passes to take advantage of new APIs, as well as current and future GPUs to get more out of them, which started a couple of weeks ago after the summit, and that progress is going good; Stage Three is the implementation of the actual Vulkan backend, and whilst on paper the work on that hasn't officially kicked off yet, parts of the team have already started to work on this, and there are some parts of the Vulkan backend that's "already been in there", so progress overall is good. Brian continues to say that it's "not an all-or-nothing", and that they could have some stuff come in before the entire Vulkan backend is there. He's been told that DX11 will already benefit from the first two stages, and as such there should be some performance improvements because of that. Ultimately the plans aren't to just support "Vulkan" just by straight ports of the render, but to actually refactor all of the render code so that they can take advantage of everything that Vulkan has to offer.