Class VkDeviceGroupPresentInfoKHR
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkDeviceGroupPresentInfoKHR
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkDeviceGroupPresentInfoKHR extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceMode and mask controlling which physical devices' images are presented.Description
If
modeisDEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR, then each element ofpDeviceMasksselects which instance of the swapchain image is presented. Each element ofpDeviceMasksmust have exactly one bit set, and the corresponding physical device must have a presentation engine as reported byVkDeviceGroupPresentCapabilitiesKHR.If
modeisDEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR, then each element ofpDeviceMasksselects which instance of the swapchain image is presented. Each element ofpDeviceMasksmust have exactly one bit set, and some physical device in the logical device must include that bit in itsVkDeviceGroupPresentCapabilitiesKHR::presentMask.If
modeisDEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR, then each element ofpDeviceMasksselects 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 ofpDeviceMasksmust have a value for which all set bits are set in one of the elements ofVkDeviceGroupPresentCapabilitiesKHR::presentMask.If
modeisDEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR, then each element ofpDeviceMasksselects which instance(s) of the swapchain images are presented. For each bit set in each element ofpDeviceMasks, the corresponding physical device must have a presentation engine as reported byVkDeviceGroupPresentCapabilitiesKHR.If
VkDeviceGroupPresentInfoKHRis not provided orswapchainCountis zero then the masks are considered to be 1. IfVkDeviceGroupPresentInfoKHRis not provided,modeis considered to beDEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR.Valid Usage
swapchainCountmust equal 0 orVkPresentInfoKHR::swapchainCount- If
modeisDEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR, then each element ofpDeviceMasksmust have exactly one bit set, and the corresponding element ofVkDeviceGroupPresentCapabilitiesKHR::presentMaskmust be non-zero - If
modeisDEVICE_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 itsVkDeviceGroupPresentCapabilitiesKHR::presentMask - If
modeisDEVICE_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 ofVkDeviceGroupPresentCapabilitiesKHR::presentMask - If
modeisDEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR, then for each bit set in each element ofpDeviceMasks, the corresponding element ofVkDeviceGroupPresentCapabilitiesKHR::presentMaskmust be non-zero - The value of each element of
pDeviceMasksmust be equal to the device mask passed inVkAcquireNextImageInfoKHR::deviceMaskwhen the image index was last acquired modemust have exactly one bit set, and that bit must have been included inVkDeviceGroupSwapchainCreateInfoKHR::modes
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR- If
swapchainCountis not 0,pDeviceMasksmust be a valid pointer to an array ofswapchainCountuint32_tvalues modemust be a validVkDeviceGroupPresentModeFlagBitsKHRvalue
Layout
struct VkDeviceGroupPresentInfoKHR { VkStructureTypesType(); void const *pNext(); uint32_tswapchainCount(); uint32_t const *pDeviceMasks(); VkDeviceGroupPresentModeFlagBitsKHRmode(); }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkDeviceGroupPresentInfoKHR.BufferAn array ofVkDeviceGroupPresentInfoKHRstructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intMODE
PDEVICEMASKS
PNEXTThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSTYPE
SWAPCHAINCOUNTThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkDeviceGroupPresentInfoKHR(java.nio.ByteBuffer container)Creates aVkDeviceGroupPresentInfoKHRinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static VkDeviceGroupPresentInfoKHRcalloc()Returns a newVkDeviceGroupPresentInfoKHRinstance allocated withmemCalloc.static VkDeviceGroupPresentInfoKHR.Buffercalloc(int capacity)Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated withmemCalloc.static VkDeviceGroupPresentInfoKHR.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDeviceGroupPresentInfoKHRcalloc(org.lwjgl.system.MemoryStack stack)Returns a newVkDeviceGroupPresentInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDeviceGroupPresentInfoKHRcallocStack()Deprecated.static VkDeviceGroupPresentInfoKHR.BuffercallocStack(int capacity)Deprecated.static VkDeviceGroupPresentInfoKHR.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Deprecated.static VkDeviceGroupPresentInfoKHRcallocStack(org.lwjgl.system.MemoryStack stack)Deprecated.static VkDeviceGroupPresentInfoKHRcreate()Returns a newVkDeviceGroupPresentInfoKHRinstance allocated withBufferUtils.static VkDeviceGroupPresentInfoKHR.Buffercreate(int capacity)Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated withBufferUtils.static VkDeviceGroupPresentInfoKHRcreate(long address)Returns a newVkDeviceGroupPresentInfoKHRinstance for the specified memory address.static VkDeviceGroupPresentInfoKHR.Buffercreate(long address, int capacity)Create aVkDeviceGroupPresentInfoKHR.Bufferinstance at the specified memory.static VkDeviceGroupPresentInfoKHRcreateSafe(long address)static VkDeviceGroupPresentInfoKHR.BuffercreateSafe(long address, int capacity)static VkDeviceGroupPresentInfoKHRmalloc()Returns a newVkDeviceGroupPresentInfoKHRinstance allocated withmemAlloc.static VkDeviceGroupPresentInfoKHR.Buffermalloc(int capacity)Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated withmemAlloc.static VkDeviceGroupPresentInfoKHR.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.static VkDeviceGroupPresentInfoKHRmalloc(org.lwjgl.system.MemoryStack stack)Returns a newVkDeviceGroupPresentInfoKHRinstance allocated on the specifiedMemoryStack.static VkDeviceGroupPresentInfoKHRmallocStack()Deprecated.static VkDeviceGroupPresentInfoKHR.BuffermallocStack(int capacity)Deprecated.static VkDeviceGroupPresentInfoKHR.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Deprecated.static VkDeviceGroupPresentInfoKHRmallocStack(org.lwjgl.system.MemoryStack stack)Deprecated.intmode()aVkDeviceGroupPresentModeFlagBitsKHRvalue specifying the device group present mode that will be used for this present.VkDeviceGroupPresentInfoKHRmode(int value)Sets the specified value to themode()field.static intnmode(long struct)Unsafe version ofmode().static voidnmode(long struct, int value)Unsafe version ofmode.static java.nio.IntBuffernpDeviceMasks(long struct)Unsafe version ofpDeviceMasks.static voidnpDeviceMasks(long struct, java.nio.IntBuffer value)Unsafe version ofpDeviceMasks.static longnpNext(long struct)Unsafe version ofpNext().static voidnpNext(long struct, long value)Unsafe version ofpNext.static intnsType(long struct)Unsafe version ofsType().static voidnsType(long struct, int value)Unsafe version ofsType.static intnswapchainCount(long struct)Unsafe version ofswapchainCount().static voidnswapchainCount(long struct, int value)Sets the specified value to theswapchainCountfield of the specifiedstruct.java.nio.IntBufferpDeviceMasks()a pointer to an array of device masks, one for each element ofVkPresentInfoKHR::pSwapchains.VkDeviceGroupPresentInfoKHRpDeviceMasks(java.nio.IntBuffer value)Sets the address of the specifiedIntBufferto thepDeviceMasks()field.longpNext()NULLor a pointer to a structure extending this structure.VkDeviceGroupPresentInfoKHRpNext(long value)Sets the specified value to thepNext()field.VkDeviceGroupPresentInfoKHRset(int sType, long pNext, java.nio.IntBuffer pDeviceMasks, int mode)Initializes this struct with the specified values.VkDeviceGroupPresentInfoKHRset(VkDeviceGroupPresentInfoKHR src)Copies the specified struct data to this struct.intsizeof()intsType()the type of this structure.VkDeviceGroupPresentInfoKHRsType(int value)Sets the specified value to thesType()field.VkDeviceGroupPresentInfoKHRsType$Default()Sets theSTRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHRvalue to thesType()field.intswapchainCount()zero or the number of elements inpDeviceMasks.static voidvalidate(long struct)Validates pointer members that should not beNULL.
-
-
-
Constructor Detail
-
VkDeviceGroupPresentInfoKHR
public VkDeviceGroupPresentInfoKHR(java.nio.ByteBuffer container)
Creates aVkDeviceGroupPresentInfoKHRinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
sType
public int sType()
the type of this structure.
-
pNext
public long pNext()
NULLor a pointer to a structure extending this structure.
-
swapchainCount
public int swapchainCount()
zero or the number of elements inpDeviceMasks.
-
pDeviceMasks
@Nullable public java.nio.IntBuffer pDeviceMasks()
a pointer to an array of device masks, one for each element ofVkPresentInfoKHR::pSwapchains.
-
mode
public int mode()
aVkDeviceGroupPresentModeFlagBitsKHRvalue specifying the device group present mode that will be used for this present.
-
sType
public VkDeviceGroupPresentInfoKHR sType(int value)
Sets the specified value to thesType()field.
-
sType$Default
public VkDeviceGroupPresentInfoKHR sType$Default()
Sets theSTRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHRvalue to thesType()field.
-
pNext
public VkDeviceGroupPresentInfoKHR pNext(long value)
Sets the specified value to thepNext()field.
-
pDeviceMasks
public VkDeviceGroupPresentInfoKHR pDeviceMasks(@Nullable java.nio.IntBuffer value)
Sets the address of the specifiedIntBufferto thepDeviceMasks()field.
-
mode
public VkDeviceGroupPresentInfoKHR mode(int value)
Sets the specified value to themode()field.
-
set
public VkDeviceGroupPresentInfoKHR set(int sType, long pNext, @Nullable java.nio.IntBuffer pDeviceMasks, int mode)
Initializes this struct with the specified values.
-
set
public VkDeviceGroupPresentInfoKHR set(VkDeviceGroupPresentInfoKHR src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkDeviceGroupPresentInfoKHR malloc()
Returns a newVkDeviceGroupPresentInfoKHRinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkDeviceGroupPresentInfoKHR calloc()
Returns a newVkDeviceGroupPresentInfoKHRinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkDeviceGroupPresentInfoKHR create()
Returns a newVkDeviceGroupPresentInfoKHRinstance allocated withBufferUtils.
-
create
public static VkDeviceGroupPresentInfoKHR create(long address)
Returns a newVkDeviceGroupPresentInfoKHRinstance for the specified memory address.
-
createSafe
@Nullable public static VkDeviceGroupPresentInfoKHR createSafe(long address)
-
malloc
public static VkDeviceGroupPresentInfoKHR.Buffer malloc(int capacity)
Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkDeviceGroupPresentInfoKHR.Buffer calloc(int capacity)
Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkDeviceGroupPresentInfoKHR.Buffer create(int capacity)
Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkDeviceGroupPresentInfoKHR.Buffer create(long address, int capacity)
Create aVkDeviceGroupPresentInfoKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkDeviceGroupPresentInfoKHR.Buffer createSafe(long address, int capacity)
-
mallocStack
@Deprecated public static VkDeviceGroupPresentInfoKHR mallocStack()
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead.
-
callocStack
@Deprecated public static VkDeviceGroupPresentInfoKHR callocStack()
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead.
-
mallocStack
@Deprecated public static VkDeviceGroupPresentInfoKHR mallocStack(org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead.
-
callocStack
@Deprecated public static VkDeviceGroupPresentInfoKHR callocStack(org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead.
-
mallocStack
@Deprecated public static VkDeviceGroupPresentInfoKHR.Buffer mallocStack(int capacity)
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead.
-
callocStack
@Deprecated public static VkDeviceGroupPresentInfoKHR.Buffer callocStack(int capacity)
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead.
-
mallocStack
@Deprecated public static VkDeviceGroupPresentInfoKHR.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead.
-
callocStack
@Deprecated public static VkDeviceGroupPresentInfoKHR.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead.
-
malloc
public static VkDeviceGroupPresentInfoKHR malloc(org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupPresentInfoKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
public static VkDeviceGroupPresentInfoKHR calloc(org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupPresentInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkDeviceGroupPresentInfoKHR.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
calloc
public static VkDeviceGroupPresentInfoKHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
nsType
public static int nsType(long struct)
Unsafe version ofsType().
-
npNext
public static long npNext(long struct)
Unsafe version ofpNext().
-
nswapchainCount
public static int nswapchainCount(long struct)
Unsafe version ofswapchainCount().
-
npDeviceMasks
@Nullable public static java.nio.IntBuffer npDeviceMasks(long struct)
Unsafe version ofpDeviceMasks.
-
nmode
public static int nmode(long struct)
Unsafe version ofmode().
-
nsType
public static void nsType(long struct, int value)Unsafe version ofsType.
-
npNext
public static void npNext(long struct, long value)Unsafe version ofpNext.
-
nswapchainCount
public static void nswapchainCount(long struct, int value)Sets the specified value to theswapchainCountfield of the specifiedstruct.
-
npDeviceMasks
public static void npDeviceMasks(long struct, @Nullable java.nio.IntBuffer value)Unsafe version ofpDeviceMasks.
-
nmode
public static void nmode(long struct, int value)Unsafe version ofmode.
-
validate
public static void validate(long struct)
Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-
-