To report problems with this extension, please open a new issue at:
This extension is written against the SPIR-V Specification, Version 1.5 Revision 3.
This extension requires SPIR-V 1.0.
This extension introduces two new storage classes that are sub classes of the CrossWorkgroup storage class. Using these more specific storage classes provides additional information that can enable optimization. The extension also introduces two new conversion instructions to enable converting pointers from and to these storage classes.
To use this extension within a SPIR-V module, the following OpExtension must be present in the module:
OpExtension "SPV_INTEL_usm_storage_classes"
OpPtrCastToCrossWorkgroupINTEL |
5934 |
USMStorageClassesINTEL |
5935 |
DeviceOnlyINTEL |
5936 |
HostOnlyINTEL |
5937 |
OpCrossWorkgroupCastToPtrINTEL |
5938 |
Modify Section 3.7, Storage Class, adding these rows to the table:
Storage Class | Enabling Capabilities | |
---|---|---|
5936 |
DeviceOnlyINTEL |
USMStorageClassesINTEL |
5937 |
HostOnlyINTEL |
USMStorageClassesINTEL |
Modify Section 3.31, Capability, adding a row to the Capability table:
Capability | Implicitly Declares | |
---|---|---|
5935 |
USMStorageClassesINTEL |
Kernel |
Modify Section 3.36.11, Conversion Instructions, adding two new instructions as follows:
OpPtrCastToCrossWorkgroupINTEL Converts a pointer’s Storage Class from a more specific class to CrossWorkgroup. Result Type must be an OpTypePointer. Its Storage Class must be CrossWorkgroup. Pointer must point to the DeviceOnlyINTEL or HostOnlyINTEL Storage Class. Result Type and Pointer must point to the same type. |
Capability: |
|||
4 |
5934 |
<id> |
Result <id> |
<id> |
OpCrossWorkgroupCastToPtrINTEL Convert a pointer’s Storage Class from CrossWorkgroup to a more specific class. Result Type must be an OpTypePointer. Result Type's Storage Class must be DeviceOnlyINTEL or HostOnlyINTEL. Pointer must point to the CrossWorkgroup Storage Class. Result Type and Pointer must point to the same type. |
Capability: |
|||
4 |
5938 |
<id> |
Result <id> |
<id> |