Vulkan Getting Another Extension To Help With DXVK/Direct3D Performance

This new extension is VK_EXT_derivative_group_quad and allows for a Vulkan driver to advertise its derivative semantics in a manner that's similar to Direct3D. There are differences between OpenGL/Vulkan and Direct3D discard operations with the Khronos APIs assuming derivatives are undefined after discard operations while Direct3D assumes them to be well-defined.
Currently DXVK doesn't discard shaders directly and that can lead to poor performance with more work being carried out than necessary while this extension when drivers advertise derivative groups are sub-group quads could lead to more efficient behavior. The Intel driver has an initial implementation of this new extension that has yet to be published in a Vulkan spec update. Once the extension is firmed up, an updated DXVK will be necessary to utilize this efficiency optimization.
30 Comments