Jason Ekstrand - The Anatomy of a Vulkan Driver
In February, the open-source driver team at Intel released a fully conformant Vulkan driver on the same day as the Vulkan specification. This driver was, apart from NIR and the back-end compiler, a completely new codebase written from the bottom-up for Vulkan. This presentation will discuss some of the differences between implementing Vulkan vs. OpenGL.
Much of the talk will focus on how the Vulkan API impacted some of the different design decisions made in the Intel Vulkan driver that were driven by the Vulkan API. This covers several areas: memory allocation, state setup and caching, and shader compilation to name a few. I will also spend some time talking about how we're taking what we learned from Vulkan and using that to improve our GL driver.