Status
-
Complete
-
Approved by the SPIR Working Group: 2017-01-11
-
Approved by the Khronos Board of Promoters: 2017-02-24
Dependencies
This extension is written against the SPIR-V Specification, Version 1.1 Revision 4.
This extension requires SPIR-V 1.0.
Overview
This extension adds a new capability to support the Vulkan VK_KHX_device_group and the VK_KHX_device_group_creation extensions in SPIR-V. It provides functionality to use a logical device that consists of multiple physical devices, as created with the VK_KHX_device_group_creation extension.
The new DeviceGroup capability allows the DeviceIndex builtin variable to be exported from all shaders stages, which represents the index of the logical device.
Extension Name
To use this extension within a SPIR-V module, the following OpExtension must be present in the module:
OpExtension "SPV_KHR_device_group"
New Builtins
A new builtin is added as an input for all shader stages.
DeviceIndex
Input device index of the logical device consisting of multiple physical devices.
Token Number Assignments
DeviceGroup |
4437 |
DeviceIndex |
4438 |
- (Modify Section 3.21, BuiltIn)
-
(add a new row to the Builtin table)
BuiltIn Enabling Capabilities 4438
DeviceIndex
Input device index of the logical device. See VK_KHX_device_group for more details.DeviceGroup
- (Modify Section 3.31, Capability, adding new row to the Capability table)
-
Capability Implicitly Declares Enabled by Extension 4437
DeviceGroup
SPV_KHR_device_group
Validation Rules
An OpExtension must be added to the SPIR-V for validation layers to check legal use of this extension:
OpExtension "SPV_KHR_device_group"