VK_KHR_variable_pointers(3)
VK_KHR_variable_pointers
- Name String
VK_KHR_variable_pointers- Extension Type
Device extension
- Registered Extension Number
121
- Revision
1
- Ratification Status
Ratified
- Extension and Version Dependencies
- SPIR-V Dependencies
- Deprecation State
Promoted toVulkan 1.1
- Contact
Jesse Hallcritsec
Other Extension Metadata
- Last Modified Date
2017-09-05
- IP Status
No known IP claims.
- Contributors
John Kessenich, Google
Neil Henning, Codeplay
David Neto, Google
Daniel Koch, Nvidia
Graeme Leese, Broadcom
Weifeng Zhang, Qualcomm
Stephen Clarke, Imagination Technologies
Faith Ekstrand, Intel
Jesse Hall, Google
Description
TheVK_KHR_variable_pointers extension allows implementations to indicatetheir level of support for theSPV_KHR_variable_pointers SPIR-V extension.The SPIR-V extension allows shader modules to use invocation-privatepointers into uniform and/or storage buffers, where the pointer values canbe dynamic and non-uniform.
TheSPV_KHR_variable_pointers extension introduces two capabilities.The first,VariablePointersStorageBuffer,must be supported by allimplementations of this extension.The second,VariablePointers, is optional.
Promotion to Vulkan 1.1
All functionality in this extension is included in core Vulkan 1.1, with theKHR suffix omitted, however support for thevariablePointersStorageBuffer feature is made optional.The original type, enum, and command names are still available as aliases ofthe core functionality.
Promotion to Vulkan 1.4
If Vulkan 1.4 is supported, support for thevariablePointers andvariablePointersStorageBuffer features is required.
New Enum Constants
VK_KHR_VARIABLE_POINTERS_EXTENSION_NAMEVK_KHR_VARIABLE_POINTERS_SPEC_VERSIONExtendingVkStructureType:
Issues
1) Do we need an optional property for the SPIR-VVariablePointersStorageBuffer capability or should it be mandatory whenthis extension is advertised?
RESOLVED: Add it as a distinct feature, but make support mandatory.Adding it as a feature makes the extension easier to include in a futurecore API version.In the extension, the feature is mandatory, so that presence of theextension guarantees some functionality.When included in a core API version, the feature would be optional.
2) Can support for these capabilities vary between shader stages?
RESOLVED: No, if the capability is supported in any stage it must besupported in all stages.
3) Should the capabilities be features or limits?
RESOLVED: Features, primarily for consistency with other similarextensions.
Document Notes
For more information, see theVulkan Specification.
This page is a generated document.Fixes and changes should be made to the generator scripts, not directly.