The Talos Principle is a very popular puzzle game from Croteam, and they already have a Windows build out that uses Vulkan. We Linux gamers will need to wait a few days, but it will be fun to see.
Looks like they had a few issues that won't take too long to sort:
QuoteLinux.PlayX, the Linux build is coming in like a day or two. We had issues setting it up in that we never before released an x64 Linux build. As soon as we prepare it for upload it will be available to you.
The developers went into a little more depth about the Vulkan work for Talos:
Quoteengine design for Vulkan is basically consited of three major parts:\
Port. Make it work as fast as possible just by wrapping current engine design around Vulkan. Avoid all pitfalls and bottlenecks. This is what we did by now and released as patch for Talos.
Use Vulkan for multi-threaded rendering. Our engine is designed really well for multi-threaded rendering, but we have only our wrapper for it - calls to graphics API (like Vulkan) are not multi-threaded. Yet.
That being said, this is the next step what we'll do. And probably release that also as patch for Talos. I tried to do that with Direct3D 11 long time ago (support for its deffered contexts), but it was too much pain and too little or even no gain. :( That's just one of reasons why we decided to stick with our own approach for MT renderer for that long. :/
Redesign engine for Vulkan. This is the biggest step and can be split in two:
Precache all rendering states (which mostly mean materials in game) up front. This will make rendering calls much simplier and faster. So, instead of deciding at rendering time what is needed for a material to be rendered via Vulkan, do this at loading time and then when material needs to be rendered just give it to Vulkan, via one or two simple function calls.
Precache all geometry, material, textures, everything that is needed for rendering an object up front. This basically creates so called command buffer ready for Vulkan, and nothing extra needs to be set or created at render time.
3rd part of port is, obviously, the most complex one, and it'll take time to change engine design for it, step-by-step.
Hope I explained this well. :)
So, before you start seeing benchmarks of it doing better than OpenGL, but worse than DirectX, please remember it's a work in progress. The haven't added in proper multi-threading yet (point 2 above).
Some you may have missed, popular articles from the last month: