Vulkan is a new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms. It is a low-overhead, cross-platform 3D graphics library that gives developers more control over the GPU and lower level CPU usage for their Android base mobile projects. In the following topic, we will go over how you can enable and use Vulkan in your CRYENGINE projects.
reason: we don't provide shadercaches for vulkan (yet), all the shaders need to be compiled on-the-fly
todo: provide caches
Supported Devices and Drivers
Supported devices and the level of support: http://vulkan.gpuinfo.org/
Vulkan API level: guaranteed at least 18.104.22.168 (codebase is compiled against this), might work with earlier revision on a case-by-case basis (try-and-error )
Operating Systems: http://vulkan.gpuinfo.org/, in general W7 upto W10 and Android 6+ but only 64bit (reason is the Vulkan SDK, not any other obscure thing)
Enabling Vulkan Support in CRYENGINE
To build a CRYENGINE project that has support for the Vulkan API, you will need to do the following:
- Add or change the cvar directive e.g. "r_driver=dx12" to "r_driver=Vk"
- Enable the Remote Shader Compiler (see prerequisites)
- Run the game/editor as usual. the editor always falls back to DX11 automatically and won't utilize Vk, which means when jumping into game-mode in the Sandbox: it will not utilize Vulkan.