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
Extends the definition of Uniform Control Flow to apply to each Subgroup scope instance in addition to the invocation group.

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