Name Strings
SPV_codeplay_usm_generic_storage_class
Contact
Aaron Greig, Codeplay Software Ltd. (aaron.greig ‘at’ codeplay.com)
Contributors
Aaron Greig, Codeplay Software Ltd.
Ewan Crawford, Codeplay Software Ltd.
Version
Last Modified Date |
2020-10-29 |
Revision |
1 |
Status
Proposal
Dependencies
This extension is written against the Unified SPIR-V Specification, Version 1.5, Revision 3.
This extension requires SPIR-V 1.0.
Overview
This extension allows a module to indicate that it is omitting storage class
information from OpTypePointer
and OpTypeForwardPointer
instructions.
In this case, instead of including storage class information in these
instructions the module passes storage class Generic
to indicate that the
storage class has no semantic meaning. Note that modules using this extension do
not need to declare the GenericPointer
capability, and pointer types
declared in the manner outlined above do not retain any of the semantics of a
regular Generic
pointer type declaration.
Extension Name
To use this extension within a SPIR-V module, the following OpExtension must be present in the module:
OpExtension "SPV_codeplay_usm_generic_storage_class"
New Capabilities
None.
New Builtins
None.
New Instructions
None.
Token Number Assignments
None.
Modifications to the SPIR-V Specification
Modify section 3.7, Storage Class, changing the following entry in the Storage Class table:
8 |
Generic For generic pointers, which overload the Function, Workgroup, and CrossWorkgroup Storage Classes. Also used to declare pointer types without a storage class when the “SPV_codeplay_usm_generic_storage_class” extension is enabled. |
GenericPointer |
Modify section 3.68.8, Memory Instructions, changing the description of
OpVariable
:
… Storage Class is the Storage Class of the memory holding the object. It cannot be Generic unless OpExtension “SPV_codeplay_usm_generic_storage_class” was declared. … |
Validation Rules
An OpExtension must be added to the SPIR-V for validation layers to check legal use of this extension:
OpExtension "SPV_codeplay_usm_generic_storage_class"
Revision History
Rev |
Date |
Author |
Changes |
---|---|---|---|
1 |
2020/10/29 |
Aaron Greig |
Initial revision |