Top Description Fields Constructors Methods
org.lwjgl.vulkan

public Class KHRDeviceGroup

extends Object
Class Inheritance
Imports
javax.annotation.*, java.nio.*, org.lwjgl.system.*

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.

VK_KHR_device_group
Name String
VK_KHR_device_group
Extension Type
Device extension
Registered Extension Number
61
Revision
4
Extension and Version Dependencies
VK_KHR_device_group_creation
Deprecation state
Contact
Other Extension Metadata
Last Modified Date
2017-10-10
IP Status
No known IP claims.
Interactions and External Dependencies
Contributors
  • Jeff Bolz, NVIDIA
  • Tobias Hector, Imagination Technologies

Field Summary

Modifier and TypeField and Description
public static final int
VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR

Extends VkDependencyFlagBits.

public static final int
public static final String
public static final int
VK_KHR_DEVICE_GROUP_SPEC_VERSION

The extension specification version.

public static final int
VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR

Extends VkMemoryAllocateFlagBits.

public static final int
VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR

Extends VkPeerMemoryFeatureFlagBits.

public static final int
VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR

Extends VkPeerMemoryFeatureFlagBits.

public static final int
VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR

Extends VkPeerMemoryFeatureFlagBits.

public static final int
VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR

Extends VkPeerMemoryFeatureFlagBits.

public static final int
VK_PIPELINE_CREATE_DISPATCH_BASE_KHR

Extends VkPipelineCreateFlagBits.

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR

Extends VkSwapchainCreateFlagBitsKHR.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static int
nvkAcquireNextImage2KHR(VkDevice device, long pAcquireInfo, long pImageIndex)

Unsafe version of: AcquireNextImage2KHR

public static void
nvkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device, int heapIndex, int localDeviceIndex, int remoteDeviceIndex, long pPeerMemoryFeatures)

Unsafe version of: GetDeviceGroupPeerMemoryFeaturesKHR

public static int
nvkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device, long pDeviceGroupPresentCapabilities)

Unsafe version of: GetDeviceGroupPresentCapabilitiesKHR

public static int
nvkGetDeviceGroupSurfacePresentModesKHR(VkDevice device, long surface, long pModes)

Unsafe version of: GetDeviceGroupSurfacePresentModesKHR

public static int
nvkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice, long surface, long
a pointer to an integer related to the number of rectangles available or queried, as described below.
pRectCount
,
long pRects)

Unsafe version of: GetPhysicalDevicePresentRectanglesKHR

public static int
vkAcquireNextImage2KHR(VkDevice
the device associated with swapchain.
device
,
VkAcquireNextImageInfoKHR
a pointer to a VkAcquireNextImageInfoKHR structure containing parameters of the acquire.
pAcquireInfo
,
IntBuffer
a pointer to a uint32_t that is set to the index of the next image to use.
pImageIndex
)

Retrieve the index of the next available presentable image.

public static int
vkAcquireNextImage2KHR(VkDevice device, VkAcquireNextImageInfoKHR pAcquireInfo, int[] pImageIndex)

Array version of: AcquireNextImage2KHR

public static void
vkCmdDispatchBaseKHR(VkCommandBuffer
the command buffer into which the command will be recorded.
commandBuffer
,
int
the start value for the X component of WorkgroupId.
baseGroupX
,
int
the start value for the Y component of WorkgroupId.
baseGroupY
,
int
the start value for the Z component of WorkgroupId.
baseGroupZ
,
int
the number of local workgroups to dispatch in the X dimension.
groupCountX
,
int
the number of local workgroups to dispatch in the Y dimension.
groupCountY
,
int
the number of local workgroups to dispatch in the Z dimension.
groupCountZ
)

See CmdDispatchBase.

public static void
vkCmdSetDeviceMaskKHR(VkCommandBuffer
command buffer whose current device mask is modified.
commandBuffer
,
int
the new value of the current device mask.
deviceMask
)

See CmdSetDeviceMask.

public static void
vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice
the logical device that owns the memory.
device
,
int
the index of the memory heap from which the memory is allocated.
heapIndex
,
int
the device index of the physical device that performs the memory access.
localDeviceIndex
,
int
the device index of the physical device that the memory is allocated for.
remoteDeviceIndex
,
IntBuffer
a pointer to a VkPeerMemoryFeatureFlags bitmask indicating which types of memory accesses are supported for the combination of heap, local, and remote devices.
pPeerMemoryFeatures
)

See GetDeviceGroupPeerMemoryFeatures.

public static void
vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device, int heapIndex, int localDeviceIndex, int remoteDeviceIndex, int[] pPeerMemoryFeatures)

Array version of: GetDeviceGroupPeerMemoryFeaturesKHR

public static int
vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice
the logical device.
device
,
VkDeviceGroupPresentCapabilitiesKHR
a pointer to a VkDeviceGroupPresentCapabilitiesKHR structure in which the device’s capabilities are returned.
pDeviceGroupPresentCapabilities
)

Query present capabilities from other physical devices.

public static int
vkGetDeviceGroupSurfacePresentModesKHR(VkDevice
the logical device.
device
,
long
the surface.
surface
,
IntBuffer
a pointer to a VkDeviceGroupPresentModeFlagsKHR in which the supported device group present modes for the surface are returned.
pModes
)

Query present capabilities for a surface.

public static int
vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device, long surface, int[] pModes)

Array version of: GetDeviceGroupSurfacePresentModesKHR

public static int
vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice
the physical device.
physicalDevice
,
long
the surface.
surface
,
IntBuffer
a pointer to an integer related to the number of rectangles available or queried, as described below.
pRectCount
,
VkRect2D.Buffer
either NULL or a pointer to an array of VkRect2D structures.
pRects
)

Query present rectangles for a surface on a physical device.

public static int
vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice, long surface, int[] pRectCount, VkRect2D.Buffer pRects)

Array version of: GetPhysicalDevicePresentRectanglesKHR

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VK_DEPENDENCY_DEVICE_GROUP_BIT_KHRback to summary
public static final int VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR

Extends VkDependencyFlagBits.

VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHRback to summary
public static final int VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR

Extends VkImageCreateFlagBits.

VK_KHR_DEVICE_GROUP_EXTENSION_NAMEback to summary
public static final String VK_KHR_DEVICE_GROUP_EXTENSION_NAME

The extension name.

VK_KHR_DEVICE_GROUP_SPEC_VERSIONback to summary
public static final int VK_KHR_DEVICE_GROUP_SPEC_VERSION

The extension specification version.

VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHRback to summary
public static final int VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR

Extends VkMemoryAllocateFlagBits.

VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHRback to summary
public static final int VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR

Extends VkPeerMemoryFeatureFlagBits.

Enum values:
VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHRback to summary
public static final int VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR

Extends VkPeerMemoryFeatureFlagBits.

Enum values:
VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHRback to summary
public static final int VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR

Extends VkPeerMemoryFeatureFlagBits.

Enum values:
VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHRback to summary
public static final int VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR

Extends VkPeerMemoryFeatureFlagBits.

Enum values:
VK_PIPELINE_CREATE_DISPATCH_BASE_KHRback to summary
public static final int VK_PIPELINE_CREATE_DISPATCH_BASE_KHR

Extends VkPipelineCreateFlagBits.

Enum values:
VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHRback to summary
public static final int VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR

Extends VkPipelineCreateFlagBits.

Enum values:
VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHRback to summary
public static final int VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHRback to summary
public static final int VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHRback to summary
public static final int VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHRback to summary
public static final int VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHRback to summary
public static final int VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHRback to summary
public static final int VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHRback to summary
public static final int VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR

Extends VkStructureType.

VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHRback to summary
public static final int VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHRback to summary
public static final int VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHRback to summary
public static final int VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHRback to summary
public static final int VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHRback to summary
public static final int VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHRback to summary
public static final int VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR

Extends VkStructureType.

Enum values:
VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHRback to summary
public static final int VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR

Extends VkSwapchainCreateFlagBitsKHR.

Constructor Detail

KHRDeviceGroupback to summary
protected KHRDeviceGroup()

Method Detail

nvkAcquireNextImage2KHRback to summary
public static int nvkAcquireNextImage2KHR(VkDevice device, long pAcquireInfo, long pImageIndex)

Unsafe version of: AcquireNextImage2KHR

nvkGetDeviceGroupPeerMemoryFeaturesKHRback to summary
public static void nvkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device, int heapIndex, int localDeviceIndex, int remoteDeviceIndex, long pPeerMemoryFeatures)

Unsafe version of: GetDeviceGroupPeerMemoryFeaturesKHR

nvkGetDeviceGroupPresentCapabilitiesKHRback to summary
public static int nvkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device, long pDeviceGroupPresentCapabilities)

Unsafe version of: GetDeviceGroupPresentCapabilitiesKHR

nvkGetDeviceGroupSurfacePresentModesKHRback to summary
public static int nvkGetDeviceGroupSurfacePresentModesKHR(VkDevice device, long surface, long pModes)

Unsafe version of: GetDeviceGroupSurfacePresentModesKHR

nvkGetPhysicalDevicePresentRectanglesKHRback to summary
public static int nvkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice, long surface, long pRectCount, long pRects)

Unsafe version of: GetPhysicalDevicePresentRectanglesKHR

Parameters
pRectCount:long

a pointer to an integer related to the number of rectangles available or queried, as described below.

vkAcquireNextImage2KHRback to summary
public static int vkAcquireNextImage2KHR(VkDevice device, VkAcquireNextImageInfoKHR pAcquireInfo, IntBuffer pImageIndex)

Retrieve the index of the next available presentable image.

C Specification

To acquire an available presentable image to use, and retrieve the index of that image, call:


VkResult vkAcquireNextImage2KHR(
    VkDevice                                    device,
    const VkAcquireNextImageInfoKHR*            pAcquireInfo,
    uint32_t*                                   pImageIndex);
Description

If the swapchain has been created with the SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT 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 surface used to create swapchain, the timeout member of pAcquireInfo must not be UINT64_MAX
Valid Usage (Implicit)
  • device must be a valid VkDevice handle
  • pAcquireInfo must be a valid pointer to a valid VkAcquireNextImageInfoKHR structure
  • pImageIndex must be a valid pointer to a uint32_t value
Return Codes
On success, this command returns
On failure, this command returns
See Also

VkAcquireNextImageInfoKHR

Parameters
device:VkDevice

the device associated with swapchain.

pAcquireInfo:VkAcquireNextImageInfoKHR

a pointer to a VkAcquireNextImageInfoKHR structure containing parameters of the acquire.

pImageIndex:IntBuffer

a pointer to a uint32_t that is set to the index of the next image to use.

Annotations
@NativeType:VkResult
vkAcquireNextImage2KHRback to summary
public static int vkAcquireNextImage2KHR(VkDevice device, VkAcquireNextImageInfoKHR pAcquireInfo, int[] pImageIndex)

Array version of: AcquireNextImage2KHR

Annotations
@NativeType:VkResult
vkCmdDispatchBaseKHRback to summary
public static void vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer, int baseGroupX, int baseGroupY, int baseGroupZ, int groupCountX, int groupCountY, int groupCountZ)

See CmdDispatchBase.

Parameters
commandBuffer:VkCommandBuffer

the command buffer into which the command will be recorded.

baseGroupX:int

the start value for the X component of WorkgroupId.

baseGroupY:int

the start value for the Y component of WorkgroupId.

baseGroupZ:int

the start value for the Z component of WorkgroupId.

groupCountX:int

the number of local workgroups to dispatch in the X dimension.

groupCountY:int

the number of local workgroups to dispatch in the Y dimension.

groupCountZ:int

the number of local workgroups to dispatch in the Z dimension.

vkCmdSetDeviceMaskKHRback to summary
public static void vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer, int deviceMask)

See CmdSetDeviceMask.

Parameters
commandBuffer:VkCommandBuffer

command buffer whose current device mask is modified.

deviceMask:int

the new value of the current device mask.

vkGetDeviceGroupPeerMemoryFeaturesKHRback to summary
public static void vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device, int heapIndex, int localDeviceIndex, int remoteDeviceIndex, IntBuffer pPeerMemoryFeatures)

See GetDeviceGroupPeerMemoryFeatures.

Parameters
device:VkDevice

the logical device that owns the memory.

heapIndex:int

the index of the memory heap from which the memory is allocated.

localDeviceIndex:int

the device index of the physical device that performs the memory access.

remoteDeviceIndex:int

the device index of the physical device that the memory is allocated for.

pPeerMemoryFeatures:IntBuffer

a pointer to a VkPeerMemoryFeatureFlags bitmask indicating which types of memory accesses are supported for the combination of heap, local, and remote devices.

vkGetDeviceGroupPeerMemoryFeaturesKHRback to summary
public static void vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device, int heapIndex, int localDeviceIndex, int remoteDeviceIndex, int[] pPeerMemoryFeatures)

Array version of: GetDeviceGroupPeerMemoryFeaturesKHR

vkGetDeviceGroupPresentCapabilitiesKHRback to summary
public static int vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR pDeviceGroupPresentCapabilities)

Query present capabilities from other physical devices.

C Specification

A logical device that represents multiple physical devices may support presenting from images on more than one physical device, or combining images from multiple physical devices.

To query these capabilities, call:


VkResult vkGetDeviceGroupPresentCapabilitiesKHR(
    VkDevice                                    device,
    VkDeviceGroupPresentCapabilitiesKHR*        pDeviceGroupPresentCapabilities);
Valid Usage (Implicit)
Return Codes
On success, this command returns
On failure, this command returns
See Also

VkDeviceGroupPresentCapabilitiesKHR

Parameters
device:VkDevice

the logical device.

pDeviceGroupPresentCapabilities:VkDeviceGroupPresentCapabilitiesKHR

a pointer to a VkDeviceGroupPresentCapabilitiesKHR structure in which the device’s capabilities are returned.

Annotations
@NativeType:VkResult
vkGetDeviceGroupSurfacePresentModesKHRback to summary
public static int vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device, long surface, IntBuffer pModes)

Query present capabilities for a surface.

C Specification

Some surfaces may not be capable of using all the device group present modes.

To query the supported device group present modes for a particular surface, call:


VkResult vkGetDeviceGroupSurfacePresentModesKHR(
    VkDevice                                    device,
    VkSurfaceKHR                                surface,
    VkDeviceGroupPresentModeFlagsKHR*           pModes);
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
  • surface must be supported by all physical devices associated with device, as reported by GetPhysicalDeviceSurfaceSupportKHR or an equivalent platform-specific mechanism
Valid Usage (Implicit)
  • device must be a valid VkDevice handle
  • surface must be a valid VkSurfaceKHR handle
  • pModes must be a valid pointer to a VkDeviceGroupPresentModeFlagsKHR value
  • Both of device, and surface must have been created, allocated, or retrieved from the same VkInstance
Host Synchronization
  • Host access to surface must be externally synchronized
Return Codes
On success, this command returns
On failure, this command returns
Parameters
device:VkDevice

the logical device.

surface:long

the surface.

pModes:IntBuffer

a pointer to a VkDeviceGroupPresentModeFlagsKHR in which the supported device group present modes for the surface are returned.

Annotations
@NativeType:VkResult
vkGetDeviceGroupSurfacePresentModesKHRback to summary
public static int vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device, long surface, int[] pModes)

Array version of: GetDeviceGroupSurfacePresentModesKHR

Annotations
@NativeType:VkResult
vkGetPhysicalDevicePresentRectanglesKHRback to summary
public static int vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice, long surface, IntBuffer pRectCount, VkRect2D.Buffer pRects)

Query present rectangles for a surface on a physical device.

C Specification

When using DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR, the application may need to know which regions of the surface are used when presenting locally on each physical device. Presentation of swapchain images to this surface need only have valid contents in the regions returned by this command.

To query a set of rectangles used in presentation on the physical device, call:


VkResult vkGetPhysicalDevicePresentRectanglesKHR(
    VkPhysicalDevice                            physicalDevice,
    VkSurfaceKHR                                surface,
    uint32_t*                                   pRectCount,
    VkRect2D*                                   pRects);
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 user 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
  • surface must be a valid VkSurfaceKHR handle
  • surface must be supported by physicalDevice, as reported by GetPhysicalDeviceSurfaceSupportKHR or an equivalent platform-specific mechanism
Valid Usage (Implicit)
  • physicalDevice must be a valid VkPhysicalDevice handle
  • surface must be a valid VkSurfaceKHR handle
  • pRectCount must be a valid pointer to a uint32_t value
  • If the value referenced by pRectCount is not 0, and pRects is not NULL, pRects must be a valid pointer to an array of pRectCount VkRect2D structures
  • Both of physicalDevice, and surface must have been created, allocated, or retrieved from the same VkInstance
Host Synchronization
  • Host access to surface must be externally synchronized
Return Codes
On success, this command returns
On failure, this command returns
See Also

VkRect2D

Parameters
physicalDevice:VkPhysicalDevice

the physical device.

surface:long

the surface.

pRectCount:IntBuffer

a pointer to an integer related to the number of rectangles available or queried, as described below.

pRects:VkRect2D.Buffer

either NULL or a pointer to an array of VkRect2D structures.

Annotations
@NativeType:VkResult
vkGetPhysicalDevicePresentRectanglesKHRback to summary
public static int vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice, long surface, int[] pRectCount, VkRect2D.Buffer pRects)

Array version of: GetPhysicalDevicePresentRectanglesKHR

Annotations
@NativeType:VkResult