Package org.lwjgl.vulkan
Class KHRDeviceGroupCreation
- java.lang.Object
-
- org.lwjgl.vulkan.KHRDeviceGroupCreation
-
public class KHRDeviceGroupCreation extends java.lang.ObjectThis 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 theVK_KHR_device_groupextension.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
- Promoted to Vulkan 1.1
- Contact
- Jeff Bolz jeffbolznv
- 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
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringVK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAMEThe extension name.static intVK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSIONThe extension specification version.static intVK_MAX_DEVICE_GROUP_SIZE_KHRVK_MAX_DEVICE_GROUP_SIZE_KHRstatic intVK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHRExtendsVkMemoryHeapFlagBits.static intVK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHRExtendsVkStructureType.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intnvkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance, long pPhysicalDeviceGroupCount, long pPhysicalDeviceGroupProperties)Unsafe version of:EnumeratePhysicalDeviceGroupsKHRstatic intvkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance, int[] pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties.Buffer pPhysicalDeviceGroupProperties)Array version of:EnumeratePhysicalDeviceGroupsKHRstatic intvkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance, java.nio.IntBuffer pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties.Buffer pPhysicalDeviceGroupProperties)
-
-
-
Field Detail
-
VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION
The extension specification version.
-
VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME
The extension name.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR, VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR
ExtendsVkStructureType.Enum values:
-
VK_MAX_DEVICE_GROUP_SIZE_KHR
VK_MAX_DEVICE_GROUP_SIZE_KHR
-
VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR
ExtendsVkMemoryHeapFlagBits.
-
-
Method Detail
-
nvkEnumeratePhysicalDeviceGroupsKHR
public static int nvkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance, long pPhysicalDeviceGroupCount, long pPhysicalDeviceGroupProperties)
Unsafe version of:EnumeratePhysicalDeviceGroupsKHR- Parameters:
pPhysicalDeviceGroupCount- a pointer to an integer related to the number of device groups available or queried, as described below.
-
vkEnumeratePhysicalDeviceGroupsKHR
public static int vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance, java.nio.IntBuffer pPhysicalDeviceGroupCount, @Nullable VkPhysicalDeviceGroupProperties.Buffer pPhysicalDeviceGroupProperties)
- Parameters:
instance- a handle to a Vulkan instance previously created withCreateInstance.pPhysicalDeviceGroupCount- a pointer to an integer related to the number of device groups available or queried, as described below.pPhysicalDeviceGroupProperties- eitherNULLor a pointer to an array ofVkPhysicalDeviceGroupPropertiesstructures.
-
vkEnumeratePhysicalDeviceGroupsKHR
public static int vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance, int[] pPhysicalDeviceGroupCount, @Nullable VkPhysicalDeviceGroupProperties.Buffer pPhysicalDeviceGroupProperties)
Array version of:EnumeratePhysicalDeviceGroupsKHR
-
-