// Copyright (c) 2016-2017 The Khronos Group Inc. // Copyright notice at https://www.khronos.org/registry/speccopyright.html [[VK_KHX_device_group]] == VK_KHX_device_group *Name String*:: +VK_KHX_device_group+ *Extension Type*:: Device extension *Registered Extension Number*:: 61 *Status*:: Draft. *Last Modified Date*:: 2016-10-19 *Revision*:: 1 *IP Status*:: No known IP claims. *Dependencies*:: - This extension is written against version 1.0 of the Vulkan API. - Requires +VK_KHR_swapchain+ revision 68. *Contributors*:: - Jeff Bolz, NVIDIA *Contacts*:: - Jeff Bolz (jbolz 'at' nvidia.com) This extension provides functionality to use a logical device that consists of multiple physical devices, as created with the +VK_KHX_device_group_creation+ extension. A device group can allocate memory across the subdevices, bind memory from one subdevice to a resource on another subdevice, record command buffers where some work executes on an arbitrary subset of the subdevices, and potentially present a swapchain image from one or more subdevices. === New Object Types None. === New Enum Constants * Extending ename:VkStructureType: ** ename:VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHX ** ename:VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHX ** ename:VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHX ** ename:VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHX ** ename:VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHX ** ename:VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHX ** ename:VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHX ** ename:VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHX ** ename:VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHX ** ename:VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHX ** ename:VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHX ** ename:VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHX ** ename:VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHX * Extending ename:VkImageCreateFlagBits ** ename:VK_IMAGE_CREATE_BIND_SFR_BIT_KHX * Extending ename:VkPipelineCreateFlagBits ** ename:VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHX ** ename:VK_PIPELINE_CREATE_DISPATCH_BASE_KHX * Extending ename:VkDependencyFlagBits ** ename:VK_DEPENDENCY_DEVICE_GROUP_BIT_KHX * Extending ename:VkSwapchainCreateFlagBitsKHR ** ename:VK_SWAPCHAIN_CREATE_BIND_SFR_BIT_KHX === New Enums * slink:VkPeerMemoryFeatureFlagBitsKHX * slink:VkMemoryAllocateFlagBitsKHX * slink:VkDeviceGroupPresentModeFlagBitsKHX === New Structures * slink:VkMemoryAllocateFlagsInfoKHX * slink:VkBindBufferMemoryInfoKHX * slink:VkBindImageMemoryInfoKHX * slink:VkDeviceGroupRenderPassBeginInfoKHX * slink:VkDeviceGroupCommandBufferBeginInfoKHX * slink:VkDeviceGroupSubmitInfoKHX * slink:VkDeviceGroupBindSparseInfoKHX * slink:VkDeviceGroupPresentCapabilitiesKHX * slink:VkImageSwapchainCreateInfoKHX * slink:VkBindImageMemorySwapchainInfoKHX * slink:VkAcquireNextImageInfoKHX * slink:VkDeviceGroupPresentInfoKHX * slink:VkDeviceGroupSwapchainCreateInfoKHX === New Functions * flink:vkGetDeviceGroupPeerMemoryFeaturesKHX * flink:vkBindBufferMemory2KHX * flink:vkBindImageMemory2KHX * flink:vkCmdSetDeviceMaskKHX * flink:vkGetDeviceGroupPresentCapabilitiesKHX * flink:vkGetDeviceGroupSurfacePresentModesKHX * flink:vkAcquireNextImage2KHX * flink:vkCmdDispatchBaseKHX * flink:vkGetPhysicalDevicePresentRectanglesKHX === New Built-In Variables * <> === New SPIR-V Capabilities * <> === Issues None. === Examples TODO === Version History * Revision 1, 2016-10-19 (Jeff Bolz) - Internal revisions