Intel's ANV Driver Lands VK_EXT_shader_module_identifier - Important For VKD3D-Proton
Following last week's release of Vulkan 1.3.219 that introduced the VK_EXT_shader_module_identifier extension and Mesa's Radeon Vulkan driver (RADV) adding support for it earlier this week, Intel's open-source Vulkan driver "ANV" has landed support for this new extension to close out the week.
VK_EXT_shader_module_identifier helps with avoiding the re-generating of SPIR-V modules by allowing them to be more easily cached to disk and on subsequent runs for the application/game to pass a previously-generated shader module identifier in an attempt to restore the Vulkan pipeline without recompilation. This extension was worked on by Valve and various other vendors with the use-case in mind of shader pre-compilation systems that can prime pipeline caches ahead of time, similar to what Steam has already done with distributed of pre-compiled shader caches. Ultimately VK_EXT_shader_module_identifier should help improve efficiency and possibly reduce game load times.
As noted in the prior article, there is draft VKD3D-Proton code for making use of this Vulkan extension by that Direct3D 12 over Vulkan implementation, but it has yet to be merged.
Hans-Kristian Arntzen of Valve who was invovled with this extension had tweeted about it: "This will be pretty huge for the vkd3d-proton internal magic cache. We'll be able to reduce that cache by about [greater than] 95% since we no longer have to save chonkers SPIR-V modules on-disk."
With this merge that landed in Mesa 22.2 overnight, VK_EXT_shader_module_identifier is now ready to go for the Intel Vulkan driver. Mesa 22.2 will debut as stable by mid to late August.
VK_EXT_shader_module_identifier helps with avoiding the re-generating of SPIR-V modules by allowing them to be more easily cached to disk and on subsequent runs for the application/game to pass a previously-generated shader module identifier in an attempt to restore the Vulkan pipeline without recompilation. This extension was worked on by Valve and various other vendors with the use-case in mind of shader pre-compilation systems that can prime pipeline caches ahead of time, similar to what Steam has already done with distributed of pre-compiled shader caches. Ultimately VK_EXT_shader_module_identifier should help improve efficiency and possibly reduce game load times.
As noted in the prior article, there is draft VKD3D-Proton code for making use of this Vulkan extension by that Direct3D 12 over Vulkan implementation, but it has yet to be merged.
Hans-Kristian Arntzen of Valve who was invovled with this extension had tweeted about it: "This will be pretty huge for the vkd3d-proton internal magic cache. We'll be able to reduce that cache by about [greater than] 95% since we no longer have to save chonkers SPIR-V modules on-disk."
With this merge that landed in Mesa 22.2 overnight, VK_EXT_shader_module_identifier is now ready to go for the Intel Vulkan driver. Mesa 22.2 will debut as stable by mid to late August.
Add A Comment