Intel's Vulkan Driver Working On VK_KHX_multiview Support

Key Intel Vulkan driver contributor Jason Ekstrand has published his initial patches for VK_KHX_multiview support within the ANV code-base. This also includes SPIR-V support for the related SPV_KHR_multiview extension.
VK_KHX_multiview is the Vulkan equivalent to OpenGL's GL_OVR_multiview, the Oculus-led OpenGL extension. Yes, both the OpenGL and Vulkan extensions are important for VR. "This extension seeks to address the inefficiency of sequential multiview rendering by adding a means to render to multiple elements of a 2D texture array simultaneously. In multiview rendering, draw calls are instanced into each corresponding element of the texture array. The vertex program uses a new ViewID variable to compute per-view values, typically the vertex position and view-dependent variables like reflection."
VK_KHX_multiview premiered with the big Vulkan 1.0.42 update at GDC but as indicated by the "KHX", it's currently considered an experimental Vulkan extension. This is one of the extensions currently used by Valve's SteamVR Linux implementation.
The 12 patches published today by Ekstrand implement the SPIR-V and ANV Vulkan changes for basic support for VK_KHX_multiview and SPVR_KHR_multiview. He commented with the patch series, "This implementation is good enough to get us going with the extension and passes the currently available CTS tests. However, it does not yet support input attachments." We'll see though if they end up landing these KHX extensions prior to Khronos finalizing the specifications in a future Vulkan release. It's also likely not particularly pressing since Intel graphics will likely not be fast enough for Linux VR gaming.
4 Comments