Name Strings
SPV_KHR_subgroup_uniform_control_flow
Contact
To report problems with this extension, please open a new issue at:
Contributors
-
Alan Baker, Google
-
John Kessenich, Google
-
David Neto, Google
Notice
Copyright (c) 2020 The Khronos Group Inc. Copyright terms at http://www.khronos.org/registry/speccopyright.html
Status
-
Complete
-
Approved by the SPIR Working Group: 2020-05-13
-
Approved by the Khronos Board of Promoters: 2020-06-26
Version
Last Modified Date |
2020-05-27 |
Revision |
2 |
Dependencies
This extension is written against the SPIR-V Specification, Version 1.5, Revision 3, Unified.
This extension requires SPIR-V 1.3.
Overview
This extension adds a new execution mode SubgroupUniformControlFlowKHR to extend the guarantees provided by the definition of Uniform Control Flow in the SPIR-V Specification. The SubgroupUniformControlFlowKHR execution mode requires that all invocations in each subgroup scope instance must reconverge if they were uniform for that subgroup instance upon entry into a structured loop or selection and they all exit via the loop’s or selection’s merge block.
Extension Name
To use this extension within a SPIR-V module, the following OpExtension must be present in the module:
OpExtension "SPV_KHR_subgroup_uniform_control_flow"
Modifications to the SPIR-V Specification, Version 1.5
Execution Mode
In section 3.6 "Execution Mode", add the following row to the table:
Execution Mode | Extra Operands | Enabling Capabilities | |||
---|---|---|---|---|---|
4421 |
SubgroupUniformControlFlowKHR |
Shader |
Issues
1) Should this wait for the resolution of memory model issue #125?
RESOLVED: That issue has been resolved and does not materially impact this extension’s changes.
Revision History
Rev | Date | Author | Changes |
---|---|---|---|
1 |
2020-03-17 |
Alan Baker |
Initial revision |
2 |
2020-05-27 |
Alan Baker |
Rename extension from SPV_KHR_subgroup_reconvergence |