Class KHRDeviceGroupCreation


  • public class KHRDeviceGroupCreation
    extends java.lang.Object
    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.

    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);
    Name String
    VK_KHR_device_group_creation
    Extension Type
    Instance extension
    Registered Extension Number
    71
    Revision
    1
    Extension and Version Dependencies
    • Requires Vulkan 1.0
    Deprecation state
    Contact
    Last Modified Date
    2016-10-19
    IP Status
    No known IP claims.
    Interactions and External Dependencies
    • Promoted to Vulkan 1.1 Core
    Contributors
    • Jeff Bolz, NVIDIA