Modulevulkan-3.27GHC2021
Vulkan.Extensions.VK_KHR_device_group
Name
VK_KHR_device_group - device extension
VK_KHR_device_group
- Name String
VK_KHR_device_group
- Extension Type
Device extension
- Registered Extension Number
61
- Revision
4
- Ratification Status
Ratified
- Extension and Version Dependencies
- API Interactions
Interacts with VK_KHR_bind_memory2
Interacts with VK_KHR_surface
Interacts with VK_KHR_swapchain
- SPIR-V Dependencies
- Deprecation State
Promoted to Vulkan 1.1
- Contact
Other Extension Metadata
- Last Modified Date
2017-10-10
- IP Status
No known IP claims.
- Contributors
Jeff Bolz, NVIDIA
Tobias Hector, Imagination Technologies
Description
This extension provides functionality to use a logical device that
consists of multiple physical devices, as created with the
VK_KHR_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.
Promotion to Vulkan 1.1
The following enums, types, and commands are included as interactions
with VK_KHR_swapchain:
If Vulkan 1.1 and VK_KHR_swapchain are supported, these are included
by VK_KHR_swapchain.
The base 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
If VK_KHR_surface is supported:
If VK_KHR_swapchain is supported:
New Structures
Extending BindSparseInfo:
Extending CommandBufferBeginInfo:
Extending MemoryAllocateInfo:
Extending RenderPassBeginInfo, RenderingInfo:
Extending SubmitInfo:
If VK_KHR_bind_memory2 is supported:
Extending BindBufferMemoryInfo:
Extending BindImageMemoryInfo:
If VK_KHR_surface is supported:
If VK_KHR_swapchain is supported:
Extending BindImageMemoryInfo:
Extending ImageCreateInfo:
Extending PresentInfoKHR:
Extending SwapchainCreateInfoKHR:
New Enums
If VK_KHR_surface is supported:
New Bitmasks
If VK_KHR_surface is supported:
New Enum Constants
Extending DependencyFlagBits:
Extending MemoryAllocateFlagBits:
Extending PeerMemoryFeatureFlagBits:
Extending PipelineCreateFlagBits:
Extending StructureType:
If VK_KHR_bind_memory2 is supported:
Extending ImageCreateFlagBits:
Extending StructureType:
If VK_KHR_surface is supported:
If VK_KHR_swapchain is supported:
Extending StructureType:
Extending SwapchainCreateFlagBitsKHR:
New Built-in Variables
New SPIR-V Capabilities
Version History
Revision 1, 2016-10-19 (Jeff Bolz)
Internal revisions
Revision 2, 2017-05-19 (Tobias Hector)
Removed extended memory bind functions to VK_KHR_bind_memory2, added dependency on that extension, and device-group-specific structs for those functions.
Revision 3, 2017-10-06 (Ian Elliott)
Corrected Vulkan 1.1 interactions with the WSI extensions. All Vulkan 1.1 WSI interactions are with the VK_KHR_swapchain extension.
Revision 4, 2017-10-10 (Jeff Bolz)
Rename “SFR” bits and structure members to use the phrase “split instance bind regions”.
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.
- 25 types
- 8 values
- Packagevulkan-3.27
- Exports63
- LanguageGHC2021
- LicenceBSD-3-Clause
- SourceVK_KHR_device_group.hs
VkSurfaceKHR - Opaque handle to a surface object
Description
The VK_KHR_surface extension declares the SurfaceKHR object, and
provides a function for destroying SurfaceKHR objects. Separate
platform-specific extensions each provide a function for creating a
SurfaceKHR object for the respective platform. From the application’s
perspective this is an opaque handle, just like the handles of other
Vulkan objects.
See Also
VK_DEFINE_NON_DISPATCHABLE_HANDLE, VK_KHR_surface, PhysicalDeviceSurfaceInfo2KHR, SwapchainCreateInfoKHR, createAndroidSurfaceKHR, createDirectFBSurfaceEXT, createDisplayPlaneSurfaceKHR, createHeadlessSurfaceEXT, createIOSSurfaceMVK, createImagePipeSurfaceFUCHSIA, createMacOSSurfaceMVK, createMetalSurfaceEXT, createScreenSurfaceQNX, createStreamDescriptorSurfaceGGP, vkCreateSurfaceOHOS, vkCreateUbmSurfaceSEC, createViSurfaceNN, createWaylandSurfaceKHR, createWin32SurfaceKHR, createXcbSurfaceKHR, createXlibSurfaceKHR, destroySurfaceKHR, getDeviceGroupSurfacePresentModesKHR, getPhysicalDevicePresentRectanglesKHR, getPhysicalDeviceSurfaceCapabilities2EXT, getPhysicalDeviceSurfaceCapabilitiesKHR, getPhysicalDeviceSurfaceFormatsKHR, getPhysicalDeviceSurfacePresentModesKHR, getPhysicalDeviceSurfaceSupportKHR
Constructors
Instances7Eq, Ord, Show, Storable, HasObjectType, IsHandle, …
Eq SurfaceKHRDefined in vulkan-3.27 · Vulkan.Extensions.HandlesOrd SurfaceKHRDefined in vulkan-3.27 · Vulkan.Extensions.HandlesShow SurfaceKHRDefined in vulkan-3.27 · Vulkan.Extensions.HandlesStorable SurfaceKHRDefined in vulkan-3.27 · Vulkan.Extensions.HandlesHasObjectType SurfaceKHRDefined in vulkan-3.27 · Vulkan.Extensions.HandlesIsHandle SurfaceKHRDefined in vulkan-3.27 · Vulkan.Extensions.HandlesZero SurfaceKHRDefined in vulkan-3.27 · Vulkan.Extensions.Handles
VkSwapchainKHR - Opaque handle to a swapchain object
Description
A swapchain is an abstraction for an array of presentable images that are associated with a surface. The presentable images are represented by Image objects created by the platform. One image (which can be an array image for multiview/stereoscopic-3D surfaces) is displayed at a time, but multiple images can be queued for presentation. An application renders to the image, and then queues the image for presentation to the surface.
A native window cannot be associated with more than one non-retired swapchain at a time. Further, swapchains cannot be created for native windows that have a non-Vulkan graphics API surface associated with them.
The presentation engine is an abstraction for the platform’s compositor or display engine.
The presentation engine may be synchronous or asynchronous with respect to the application and/or logical device.
Some implementations may use the device’s graphics queue or dedicated presentation hardware to perform presentation.
The presentable images of a swapchain are owned by the presentation engine. An application can acquire use of a presentable image from the presentation engine. Use of a presentable image must occur only after the image is returned by acquireNextImageKHR, and before it is released by queuePresentKHR. This includes transitioning the image layout and rendering commands.
An application can acquire use of a presentable image with acquireNextImageKHR. After acquiring a presentable image and before modifying it, the application must use a synchronization primitive to ensure that the presentation engine has finished reading from the image. The application can then transition the image’s layout, queue rendering commands to it, etc. Finally, the application presents the image with queuePresentKHR, which releases the acquisition of the image. The application can also release the acquisition of the image through releaseSwapchainImagesKHR, if the image is not in use by the device, and skip the present operation.
The presentation engine controls the order in which presentable images are acquired for use by the application.
This allows the platform to handle situations which require out-of-order return of images after presentation. At the same time, it allows the application to generate command buffers referencing all of the images in the swapchain at initialization time, rather than in its main loop.
See Also
VK_DEFINE_NON_DISPATCHABLE_HANDLE, VK_KHR_swapchain, AcquireNextImageInfoKHR, BindImageMemorySwapchainInfoKHR, ImageSwapchainCreateInfoKHR, PastPresentationTimingInfoEXT, PresentInfoKHR, ReleaseSwapchainImagesInfoKHR, SwapchainCalibratedTimestampInfoEXT, SwapchainCreateInfoKHR, acquireFullScreenExclusiveModeEXT, acquireNextImageKHR, createSharedSwapchainsKHR, createSwapchainKHR, destroySwapchainKHR, getLatencyTimingsNV, getPastPresentationTimingGOOGLE, getRefreshCycleDurationGOOGLE, getSwapchainCounterEXT, getSwapchainImagesKHR, getSwapchainStatusKHR, getSwapchainTimeDomainPropertiesEXT, getSwapchainTimingPropertiesEXT, latencySleepNV, queuePresentKHR, releaseFullScreenExclusiveModeEXT, setHdrMetadataEXT, setLatencyMarkerNV, setLatencySleepModeNV, setLocalDimmingAMD, setSwapchainPresentTimingQueueSizeEXT, waitForPresent2KHR, waitForPresentKHR
Constructors
Instances7Eq, Ord, Show, Storable, HasObjectType, IsHandle, …
Eq SwapchainKHRDefined in vulkan-3.27 · Vulkan.Extensions.HandlesOrd SwapchainKHRDefined in vulkan-3.27 · Vulkan.Extensions.HandlesShow SwapchainKHRDefined in vulkan-3.27 · Vulkan.Extensions.HandlesStorable SwapchainKHRDefined in vulkan-3.27 · Vulkan.Extensions.HandlesHasObjectType SwapchainKHRDefined in vulkan-3.27 · Vulkan.Extensions.HandlesIsHandle SwapchainKHRDefined in vulkan-3.27 · Vulkan.Extensions.HandlesZero SwapchainKHRDefined in vulkan-3.27 · Vulkan.Extensions.Handles
VkDeviceGroupPresentCapabilitiesKHR - Present capabilities from other physical devices
Description
modes always has DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR set.
The present mode flags are also used when presenting an image, in
DeviceGroupPresentInfoKHR::mode.
If a device group only includes a single physical device, then modes
must equal DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR.
Valid Usage (Implicit)
See Also
VK_KHR_device_group, VK_KHR_surface, VK_KHR_swapchain, VK_VERSION_1_1, DeviceGroupPresentModeFlagsKHR, StructureType, getDeviceGroupPresentCapabilitiesKHR
Constructors
DeviceGroupPresentCapabilitiesKHRpresentMask :: Vector Word32presentMaskis an array of MAX_DEVICE_GROUP_SIZEuint32_tmasks, where the mask at element i is non-zero if physical device i has a presentation engine, and where bit j is set in element i if physical device i can present swapchain images from physical device j. If element i is non-zero, then bit i must be set.modes :: DeviceGroupPresentModeFlagsKHRmodesis a bitmask of DeviceGroupPresentModeFlagBitsKHR indicating which device group presentation modes are supported.
Instances5Show, Storable, FromCStruct, ToCStruct, Zero
Show DeviceGroupPresentCapabilitiesKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainStorable DeviceGroupPresentCapabilitiesKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainFromCStruct DeviceGroupPresentCapabilitiesKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainToCStruct DeviceGroupPresentCapabilitiesKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainZero DeviceGroupPresentCapabilitiesKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchain
VkImageSwapchainCreateInfoKHR - Specify that an image will be bound to swapchain memory
Valid Usage
If
swapchainis not NULL_HANDLE, the fields of ImageCreateInfo must match the implied image creation parameters of the swapchain
Valid Usage (Implicit)
sTypemust be STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR
If
swapchainis not NULL_HANDLE,swapchainmust be a valid SwapchainKHR handle
Structure Chaining
See Also
VK_KHR_device_group, VK_KHR_swapchain, VK_VERSION_1_1, StructureType, SwapchainKHR
Constructors
ImageSwapchainCreateInfoKHRswapchain :: SwapchainKHRswapchainis NULL_HANDLE or a handle of a swapchain that the image will be bound to.
Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero
Eq ImageSwapchainCreateInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainShow ImageSwapchainCreateInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainStorable ImageSwapchainCreateInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainFromCStruct ImageSwapchainCreateInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainToCStruct ImageSwapchainCreateInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainZero ImageSwapchainCreateInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchain
VkBindImageMemorySwapchainInfoKHR - Structure specifying swapchain image memory to bind to
Description
If swapchain is not NULL, the swapchain and imageIndex are used
to determine the memory that the image is bound to, instead of memory
and memoryOffset.
Memory can be bound to a swapchain and use the pDeviceIndices or
pSplitInstanceBindRegions members of
BindImageMemoryDeviceGroupInfo.
Valid Usage
imageIndexmust be less than the number of images inswapchain
If the
swapchainhas been created with SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR,imageIndexmust be one that has previously been returned by acquireNextImageKHR or acquireNextImage2KHR
Valid Usage (Implicit)
sTypemust be STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR
swapchainmust be a valid SwapchainKHR handle
Host Synchronization
Host access to
swapchainmust be externally synchronized
Structure Chaining
See Also
VK_KHR_device_group, VK_KHR_swapchain, VK_VERSION_1_1, StructureType, SwapchainKHR
Constructors
BindImageMemorySwapchainInfoKHRswapchain :: SwapchainKHRswapchainis NULL_HANDLE or a swapchain handle.imageIndex :: Word32imageIndexis an image index withinswapchain.
Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero
Eq BindImageMemorySwapchainInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainShow BindImageMemorySwapchainInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainStorable BindImageMemorySwapchainInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainFromCStruct BindImageMemorySwapchainInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainToCStruct BindImageMemorySwapchainInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainZero BindImageMemorySwapchainInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchain
VkAcquireNextImageInfoKHR - Structure specifying parameters of the acquire
Description
If acquireNextImageKHR is used, the device mask is considered to include all physical devices in the logical device.
acquireNextImage2KHR signals at most one semaphore, even if the
application requests waiting for multiple physical devices to be ready
via the deviceMask. However, only a single physical device can wait
on that semaphore, since the semaphore becomes unsignaled when the wait
succeeds. For other physical devices to wait for the image to be ready,
it is necessary for the application to submit semaphore signal
operation(s) to that first physical device to signal additional
semaphore(s) after the wait succeeds, which the other physical device(s)
can wait upon.
Valid Usage
swapchainmust not be in the retired state
If
semaphoreis not NULL_HANDLE, it must be unsignaledIf
semaphoreis not NULL_HANDLE, it must not have any uncompleted signal or wait operations pendingIf
fenceis not NULL_HANDLE,fencemust be unsignaledIf
fenceis not NULL_HANDLE,fencemust not be associated with any other queue command that has not yet completed execution on that queuesemaphoreandfencemust not both be equal to NULL_HANDLEdeviceMaskmust be a valid device maskdeviceMaskmust not be zerosemaphoremust have a SemaphoreType of SEMAPHORE_TYPE_BINARY
Valid Usage (Implicit)
sTypemust be STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR
pNextmust beNULLswapchainmust be a valid SwapchainKHR handleIf
semaphoreis not NULL_HANDLE,semaphoremust be a valid Semaphore handleIf
fenceis not NULL_HANDLE,fencemust be a valid Fence handleEach of
fence,semaphore, andswapchainthat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same Device
Host Synchronization
Host access to
swapchainmust be externally synchronized
Host access to
semaphoremust be externally synchronizedHost access to
fencemust be externally synchronized
See Also
VK_KHR_device_group, VK_KHR_swapchain, VK_VERSION_1_1, Fence, Semaphore, StructureType, SwapchainKHR, acquireNextImage2KHR
Constructors
AcquireNextImageInfoKHRswapchain :: SwapchainKHRswapchainis a non-retired swapchain from which an image is acquired.timeout :: Word64timeoutspecifies how long the function waits, in nanoseconds, if no image is available.semaphore :: Semaphoresemaphoreis NULL_HANDLE or a semaphore that defines a semaphore signal operation.fence :: Fencefenceis NULL_HANDLE or a fence to signal.deviceMask :: Word32deviceMaskis a mask of physical devices for which the swapchain image will be ready to use when the semaphore or fence is signaled.
Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero
Eq AcquireNextImageInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainShow AcquireNextImageInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainStorable AcquireNextImageInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainFromCStruct AcquireNextImageInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainToCStruct AcquireNextImageInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainZero AcquireNextImageInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchain
VkDeviceGroupPresentInfoKHR - Mode and mask controlling which physical devices' images are presented
Description
If mode is DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR, then each
element of pDeviceMasks selects which instance of the swapchain image
is presented. Each element of pDeviceMasks must have exactly one bit
set, and the corresponding physical device must have a presentation
engine as reported by DeviceGroupPresentCapabilitiesKHR.
If mode is DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR, then each
element of pDeviceMasks selects which instance of the swapchain image
is presented. Each element of pDeviceMasks must have exactly one bit
set, and some physical device in the logical device must include that
bit in its DeviceGroupPresentCapabilitiesKHR::presentMask.
If mode is DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR, then each element
of pDeviceMasks selects which instances of the swapchain image are
component-wise summed and the sum of those images is presented. If the
sum in any component is outside the representable range, the value of
that component is undefined. Each element of pDeviceMasks must have
a value for which all set bits are set in one of the elements of
DeviceGroupPresentCapabilitiesKHR::presentMask.
If mode is DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR,
then each element of pDeviceMasks selects which instance(s) of the
swapchain images are presented. For each bit set in each element of
pDeviceMasks, the corresponding physical device must have a
presentation engine as reported by DeviceGroupPresentCapabilitiesKHR.
If DeviceGroupPresentInfoKHR is not provided or swapchainCount is
zero then the masks are considered to be 1. If
DeviceGroupPresentInfoKHR is not provided, mode is considered to be
DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR.
Valid Usage
swapchainCountmust equal0or PresentInfoKHR::swapchainCount
If
modeis DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR, then each element ofpDeviceMasksmust have exactly one bit set, and the corresponding element of DeviceGroupPresentCapabilitiesKHR::presentMaskmust be non-zeroIf
modeis DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR, then each element ofpDeviceMasksmust have exactly one bit set, and some physical device in the logical device must include that bit in its DeviceGroupPresentCapabilitiesKHR::presentMaskIf
modeis DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR, then each element ofpDeviceMasksmust have a value for which all set bits are set in one of the elements of DeviceGroupPresentCapabilitiesKHR::presentMaskIf
modeis DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR, then for each bit set in each element ofpDeviceMasks, the corresponding element of DeviceGroupPresentCapabilitiesKHR::presentMaskmust be non-zeroThe value of each element of
pDeviceMasksmust be equal to the device mask passed in AcquireNextImageInfoKHR::deviceMaskwhen the image index was last acquiredmodemust have exactly one bit set, and that bit must have been included in DeviceGroupSwapchainCreateInfoKHR::modes
Valid Usage (Implicit)
sTypemust be STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR
If
swapchainCountis not0,pDeviceMasksmust be a valid pointer to an array ofswapchainCountuint32_tvaluesmodemust be a valid DeviceGroupPresentModeFlagBitsKHR value
Structure Chaining
See Also
VK_KHR_device_group, VK_KHR_swapchain, VK_VERSION_1_1, DeviceGroupPresentModeFlagBitsKHR, StructureType
Constructors
DeviceGroupPresentInfoKHRdeviceMasks :: Vector Word32pDeviceMasksis a pointer to an array of device masks, one for each element of PresentInfoKHR::pSwapchains.mode :: DeviceGroupPresentModeFlagBitsKHRmodeis a DeviceGroupPresentModeFlagBitsKHR value specifying the device group present mode that will be used for this present.
Instances4Show, FromCStruct, ToCStruct, Zero
Show DeviceGroupPresentInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainFromCStruct DeviceGroupPresentInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainToCStruct DeviceGroupPresentInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainZero DeviceGroupPresentInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchain
VkDeviceGroupSwapchainCreateInfoKHR - Structure specifying parameters of a newly created swapchain object
Description
If this structure is not present, modes is considered to be
DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR.
Structure Chaining
See Also
VK_KHR_device_group, VK_KHR_swapchain, VK_VERSION_1_1, DeviceGroupPresentModeFlagsKHR, StructureType
Constructors
DeviceGroupSwapchainCreateInfoKHRmodes :: DeviceGroupPresentModeFlagsKHRmodesis a bitfield of modes that the swapchain can be used with.modesmust be a valid combination of DeviceGroupPresentModeFlagBitsKHR valuesmodesmust not be0
Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero
Eq DeviceGroupSwapchainCreateInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainShow DeviceGroupSwapchainCreateInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainStorable DeviceGroupSwapchainCreateInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainFromCStruct DeviceGroupSwapchainCreateInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainToCStruct DeviceGroupSwapchainCreateInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainZero DeviceGroupSwapchainCreateInfoKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchain
getDeviceGroupPresentCapabilitiesKHR :: MonadIO io=> Devicedeviceis the logical device.devicemust be a valid Device handle-> io DeviceGroupPresentCapabilitiesKHR
vkGetDeviceGroupPresentCapabilitiesKHR - Query present capabilities from other physical devices
Return Codes
See Also
VK_KHR_device_group, VK_KHR_surface, VK_KHR_swapchain, VK_VERSION_1_1, Device, DeviceGroupPresentCapabilitiesKHR
getDeviceGroupSurfacePresentModesKHR :: MonadIO io=> Devicedeviceis the logical device.-> SurfaceKHRsurfaceis the surface.-> io ("modes"
::: DeviceGroupPresentModeFlagsKHR)
vkGetDeviceGroupSurfacePresentModesKHR - Query present capabilities for a surface
Description
The modes returned by this command are not invariant, and may change in response to the surface being moved, resized, or occluded. These modes must be a subset of the modes returned by getDeviceGroupPresentCapabilitiesKHR.
Valid Usage
surfacemust be supported by all physical devices associated withdevice, as reported by getPhysicalDeviceSurfaceSupportKHR or an equivalent platform-specific mechanism
Valid Usage (Implicit)
devicemust be a valid Device handle
surfacemust be a valid SurfaceKHR handlepModesmust be a valid pointer to a DeviceGroupPresentModeFlagsKHR valueBoth of
device, andsurfacemust have been created, allocated, or retrieved from the same Instance
Host Synchronization
Host access to
surfacemust be externally synchronized
Return Codes
See Also
VK_KHR_device_group, VK_KHR_surface, VK_KHR_swapchain, VK_VERSION_1_1, Device, DeviceGroupPresentModeFlagsKHR, SurfaceKHR
acquireNextImage2KHR :: MonadIO io=> Devicedeviceis the device associated withswapchain.->"acquireInfo"
::: AcquireNextImageInfoKHRpAcquireInfois a pointer to a AcquireNextImageInfoKHR structure containing parameters of the acquire.-> io (Result,"imageIndex"
::: Word32)
vkAcquireNextImage2KHR - Retrieve the index of the next available presentable image
Description
If the swapchain has been created with the
SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR flag, the image
whose index is returned in pImageIndex will be fully backed by memory
before this call returns to the application.
Valid Usage
If forward progress cannot be guaranteed for the
surfaceused to createswapchain, thetimeoutmember ofpAcquireInfomust not beUINT64_MAX
Valid Usage (Implicit)
devicemust be a valid Device handle
pAcquireInfomust be a valid pointer to a valid AcquireNextImageInfoKHR structurepImageIndexmust be a valid pointer to auint32_tvalue
Return Codes
See Also
VK_KHR_device_group, VK_KHR_swapchain, VK_VERSION_1_1, AcquireNextImageInfoKHR, Device
acquireNextImage2KHRSafe :: MonadIO io=> Devicedeviceis the device associated withswapchain.->"acquireInfo"
::: AcquireNextImageInfoKHRpAcquireInfois a pointer to a AcquireNextImageInfoKHR structure containing parameters of the acquire.-> io (Result,"imageIndex"
::: Word32)
A variant of acquireNextImage2KHR which makes a *safe* FFI call
getPhysicalDevicePresentRectanglesKHR :: MonadIO io=> PhysicalDevicephysicalDeviceis the physical device.-> SurfaceKHRsurfaceis the surface.-> io (Result,"rects"
::: Vector Rect2D)
vkGetPhysicalDevicePresentRectanglesKHR - Query present rectangles for a surface on a physical device
Description
If pRects is NULL, then the number of rectangles used when
presenting the given surface is returned in pRectCount. Otherwise,
pRectCount must point to a variable set by the application to the
number of elements in the pRects array, and on return the variable is
overwritten with the number of structures actually written to pRects.
If the value of pRectCount is less than the number of rectangles, at
most pRectCount structures will be written, and
INCOMPLETE will be returned instead of
SUCCESS, to indicate that not all the
available rectangles were returned.
The values returned by this command are not invariant, and may change in response to the surface being moved, resized, or occluded.
The rectangles returned by this command must not overlap.
Valid Usage
surfacemust be supported byphysicalDevice, as reported by getPhysicalDeviceSurfaceSupportKHR or an equivalent platform-specific mechanism
Valid Usage (Implicit)
physicalDevicemust be a valid PhysicalDevice handle
surfacemust be a valid SurfaceKHR handlepRectCountmust be a valid pointer to auint32_tvalueIf the value referenced by
pRectCountis not0, andpRectsis notNULL,pRectsmust be a valid pointer to an array ofpRectCountRect2D structuresBoth of
physicalDevice, andsurfacemust have been created, allocated, or retrieved from the same Instance
Host Synchronization
Host access to
surfacemust be externally synchronized
Return Codes
See Also
VK_KHR_device_group, VK_KHR_surface, VK_KHR_swapchain, VK_VERSION_1_1, PhysicalDevice, Rect2D, SurfaceKHR
VkDeviceGroupPresentModeFlagBitsKHR - Bitmask specifying supported device group present modes
Description
DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR specifies that any physical device with a presentation engine can present its own swapchain images.
DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR specifies that any physical device with a presentation engine can present swapchain images from any physical device in its
presentMask.DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR specifies that any physical device with a presentation engine can present the sum of swapchain images from any physical devices in its
presentMask.DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR specifies that multiple physical devices with a presentation engine can each present their own swapchain images.
See Also
VK_KHR_device_group, VK_KHR_surface, VK_KHR_swapchain, VK_VERSION_1_1, DeviceGroupPresentInfoKHR, DeviceGroupPresentModeFlagsKHR
Constructors
Instances8Eq, Ord, Read, Show, Bits, FiniteBits, …
Eq DeviceGroupPresentModeFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainOrd DeviceGroupPresentModeFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainRead DeviceGroupPresentModeFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainShow DeviceGroupPresentModeFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainBits DeviceGroupPresentModeFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainFiniteBits DeviceGroupPresentModeFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainStorable DeviceGroupPresentModeFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainZero DeviceGroupPresentModeFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchain
VkSwapchainCreateFlagBitsKHR - Bitmask controlling swapchain creation
Description
SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR specifies that images created from the swapchain (i.e. with the
swapchainmember of ImageSwapchainCreateInfoKHR set to this swapchain’s handle) must use IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT.
SWAPCHAIN_CREATE_PROTECTED_BIT_KHR specifies that images created from the swapchain are protected images.
SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR specifies that the images of the swapchain can be used to create a ImageView with a different format than what the swapchain was created with. The list of allowed image view formats is specified by adding a ImageFormatListCreateInfo structure to the
pNextchain of SwapchainCreateInfoKHR. In addition, this flag also specifies that the swapchain can be created with usage flags that are not supported for the format the swapchain is created with but are supported for at least one of the allowed image view formats.SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR specifies that the implementation may defer allocation of memory associated with each swapchain image until its index is to be returned from acquireNextImageKHR or acquireNextImage2KHR for the first time.
SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHR specifies that applications can include the PresentId2KHR structure in the
pNextchain of the PresentInfoKHR structure to associate an identifier with each presentation request.SWAPCHAIN_CREATE_PRESENT_WAIT_2_BIT_KHR specifies that applications can use waitForPresent2KHR to wait for the presentation engine to have begun presentation of the presentation request associated with PresentWait2InfoKHR::
presentIdonswapchain.SWAPCHAIN_CREATE_PRESENT_TIMING_BIT_EXT specifies that features supported by the swapchain device in PhysicalDevicePresentTimingFeaturesEXT can be used to collect timing information or schedule presentation requests at specific times.
See Also
Constructors
Instances8Eq, Ord, Read, Show, Bits, FiniteBits, …
Eq SwapchainCreateFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainOrd SwapchainCreateFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainRead SwapchainCreateFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainShow SwapchainCreateFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainBits SwapchainCreateFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainFiniteBits SwapchainCreateFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainStorable SwapchainCreateFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchainZero SwapchainCreateFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_swapchain