VK_KHR_shader_maximal_reconvergence

Other Extension Metadata

Last Modified Date

2021-11-12

IP Status

No known IP claims.

Interactions and External Dependencies
Contributors
  • Alan Baker, Google

Description

This extension allows the use of the SPV_KHR_maximal_reconvergence SPIR-V extension in shader modules. SPV_KHR_maximal_reconvergence provides stronger guarantees that diverged subgroups will reconverge. These guarantees should match shader author intuition about divergence and reconvergence of invocations based on the structure of the code in the HLL.

Developers should utilize this extension if they require stronger guarantees about reconvergence than either the core spec or SPV_KHR_subgroup_uniform_control_flow. This extension will define the rules that govern how invocations diverge and reconverge in a way that should match developer intuition. It allows robust programs to be written relying on subgroup operations and other tangled instructions.

New Structures

New Enum Constants

  • VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME
  • VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION
  • Extending VkStructureType:
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR

Version History

  • Revision 1, 2021-11-12 (Alan Baker)
    • Internal draft version