RADV Lands VK_EXT_shader_module_identifier, VKD3D-Proton Prepares Usage
Last week's Vulkan 1.3.219 release introduced the VK_EXT_shader_module_identifier that was worked on in part by Valve. This ability for software to query an identifier associated with a Vulkan shader module is seeing quick driver adoption and is preparing for use within VKD3D-Proton as an efficiency improvement.
VK_EXT_shader_module_identifier aims to help 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 the 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.
As of today, Mesa 22.2 has landed its support for the VK_EXT_shader_module_identifier extension. Last week NVIDIA was first out of the gate with a new NVIDIA Vulkan beta supporting this extension. Still pending is this merge request wiring up the extension for the Intel ANV Vulkan driver.
Meanwhile, there is draft code for VKD3D-Proton that is working on making use of VK_EXT_shader_module_identifier for that component to Steam Play / Proton for mapping Direct3D 12 over Vulkan. In turn this support can lead to an efficiency improvement for those Linux gamers relying on VKD3D-Proton.
VK_EXT_shader_module_identifier aims to help 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 the 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.
As of today, Mesa 22.2 has landed its support for the VK_EXT_shader_module_identifier extension. Last week NVIDIA was first out of the gate with a new NVIDIA Vulkan beta supporting this extension. Still pending is this merge request wiring up the extension for the Intel ANV Vulkan driver.
Meanwhile, there is draft code for VKD3D-Proton that is working on making use of VK_EXT_shader_module_identifier for that component to Steam Play / Proton for mapping Direct3D 12 over Vulkan. In turn this support can lead to an efficiency improvement for those Linux gamers relying on VKD3D-Proton.
Add A Comment