Intel Vulkan Linux Driver Lands Graphics Pipeline Library Support
Intel's one-year-old merge request for introducing VK_EXT_graphics_pipeline_library support to their open-source "ANV" Vulkan driver has finally been merged for Mesa 23.2.
Adding the VK_EXT_graphics_pipeline_library extension to Intel's Vulkan driver touches nearly two thousand lines of code and has been in the works for the past year. This comes after last week RADV enabled their graphics pipeline library support by default that they managed to make happen in time for Mesa 23.1.
VK_EXT_graphics_pipeline_library allows for the separate compilation of four distinct parts of graphics pipelines. In allowing independent parts of the graphics pipeline to be compiled into a graphics pipeline library that is then linked together at the final stage to create the executable pipeline, there is greater re-use for pipelines having the same shaders or states across multiple pipelines. This can help enhance the Linux gaming experience and Valve's Linux graphics driver developers have been working heavily on its usage by DXVK/VKD3D-Proton and the RADV driver plumbing.
With the initial Intel "GPL" support that was merged, for the moment it's only being enabled by default if the ANV_GPL=true environment variable is set or if Zink or DXVK are detected as the engine. There is some concerns at the moment around Intel driver issues with GPL in the presence of mesh shading, so until those are worked out this extension's exposure is currently being limited. Due to the possibility of mesh shaders with VKD3D/VKD3D-Proton, the extension isn't being enabled by default there yet either. But the hope is the mesh shading concerns will be addressed soon so it can be universally enabled by default.
More details on this big feature addition to the Intel ANV driver for Mesa 23.2 via this merge request.
Adding the VK_EXT_graphics_pipeline_library extension to Intel's Vulkan driver touches nearly two thousand lines of code and has been in the works for the past year. This comes after last week RADV enabled their graphics pipeline library support by default that they managed to make happen in time for Mesa 23.1.
VK_EXT_graphics_pipeline_library allows for the separate compilation of four distinct parts of graphics pipelines. In allowing independent parts of the graphics pipeline to be compiled into a graphics pipeline library that is then linked together at the final stage to create the executable pipeline, there is greater re-use for pipelines having the same shaders or states across multiple pipelines. This can help enhance the Linux gaming experience and Valve's Linux graphics driver developers have been working heavily on its usage by DXVK/VKD3D-Proton and the RADV driver plumbing.
With the initial Intel "GPL" support that was merged, for the moment it's only being enabled by default if the ANV_GPL=true environment variable is set or if Zink or DXVK are detected as the engine. There is some concerns at the moment around Intel driver issues with GPL in the presence of mesh shading, so until those are worked out this extension's exposure is currently being limited. Due to the possibility of mesh shaders with VKD3D/VKD3D-Proton, the extension isn't being enabled by default there yet either. But the hope is the mesh shading concerns will be addressed soon so it can be universally enabled by default.
More details on this big feature addition to the Intel ANV driver for Mesa 23.2 via this merge request.
2 Comments