Contributors
-
Balaji Calidas, Qualcomm
-
Po-Sheng Chen, Qualcomm
-
Victor Lomuller, Qualcomm
-
Wooyoung Kim, Qualcomm
Notice
Copyright (c) 2024 The Khronos Group Inc. Copyright terms at http://www.khronos.org/registry/speccopyright.html
Dependencies
This extension is written against the SPIR-V Specification, Version 1.6 Revision 6.
This extension requires SPIR-V 1.1.
Overview
This extension adds two new execution modes with which an application executes subgroup operations in a shader or kernel. Shaders/kernels with the "half" execution mode will run with half the maximum subgroup size the implementation supports. Similarly, those with "full" will run with the maximum subgroup size the implementation supports. In case where a shader/kernel enables the extension, but has neither of the execution modes, the implementation selects the either full or half the maximum subgroup size it supports.
Extension Name
To use this extension within a SPIR-V module, the following OpExtension must be present in the module:
OpExtension "SPV_QCOM_subgroup_size"
New Execution Modes
The extension adds the following new execution modes.
SubgroupSizeHalfQCOM SubgroupSizeFullQCOM
Modifications to the SPIR-V Specification, Version 1.6
Capabilities
Modify Section 3.2.30, "Capability", adding the row to the Capability table:
| Capability | Implicitly declares | |
|---|---|---|
4506 |
SubgroupSizeQCOM |
|
Execution Mode
Modify Section 3.2.5. "Execution Mode", adding the following row to the Execution Mode table:
| Execution Mode | Extra Operands | Enabling Capabilities | ||
|---|---|---|---|---|
4507 |
SubgroupSizeHalfQCOM |
SubgroupSizeQCOM |
||
4508 |
SubgroupSizeFullQCOM |
SubgroupSizeQCOM |
||