Modulevulkan-3.27GHC2021
Vulkan.Extensions.VK_KHR_device_group_creation
Name
VK_KHR_device_group_creation - instance extension
VK_KHR_device_group_creation
- Name String
VK_KHR_device_group_creation
- Extension Type
Instance extension
- Registered Extension Number
71
- Revision
1
- Ratification Status
Ratified
- Extension and Version Dependencies
None
- Deprecation State
Promoted to Vulkan 1.1
- Contact
Other Extension Metadata
- Last Modified Date
2016-10-19
- IP Status
No known IP claims.
- Contributors
Jeff Bolz, NVIDIA
Description
This extension provides instance-level commands to enumerate groups of
physical devices, and to create a logical device from a subset of one of
those groups. Such a logical device can then be used with new features
in the VK_KHR_device_group extension.
Promotion to Vulkan 1.1
All functionality in this extension is included in core Vulkan 1.1, with the KHR suffix omitted. The original type, enum, and command names are still available as aliases of the core functionality.
New Commands
New Structures
New Enum Constants
Extending MemoryHeapFlagBits:
Extending StructureType:
Examples
VkDeviceCreateInfo devCreateInfo = { VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO };
// (not shown) fill out devCreateInfo as usual.
uint32_t deviceGroupCount = 0;
VkPhysicalDeviceGroupPropertiesKHR *props = NULL;
// Query the number of device groups
vkEnumeratePhysicalDeviceGroupsKHR(g_vkInstance, &deviceGroupCount, NULL);
// Allocate and initialize structures to query the device groups
props = (VkPhysicalDeviceGroupPropertiesKHR *)malloc(deviceGroupCount*sizeof(VkPhysicalDeviceGroupPropertiesKHR));
for (i = 0; i < deviceGroupCount; ++i) {
props[i].sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR;
props[i].pNext = NULL;
}
vkEnumeratePhysicalDeviceGroupsKHR(g_vkInstance, &deviceGroupCount, props);
// If the first device group has more than one physical device. create
// a logical device using all of the physical devices.
VkDeviceGroupDeviceCreateInfoKHR deviceGroupInfo = { VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR };
if (props[0].physicalDeviceCount > 1) {
deviceGroupInfo.physicalDeviceCount = props[0].physicalDeviceCount;
deviceGroupInfo.pPhysicalDevices = props[0].physicalDevices;
devCreateInfo.pNext = &deviceGroupInfo;
}
vkCreateDevice(props[0].physicalDevices[0], &devCreateInfo, NULL, &g_vkDevice);
free(props);Version History
Revision 1, 2016-10-19 (Jeff Bolz)
Internal revisions
See Also
No cross-references are available
Document Notes
For more information, see the Vulkan Specification.
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
- 4 types
- 1 value
- Packagevulkan-3.27
- Exports11
- LanguageGHC2021
- LicenceBSD-3-Clause
- SourceVK_KHR_device_group_creation.hs