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
Member documentation
sType– the type of this structure.pNext–NULLor a pointer to an extension-specific structure.swapchainCount– zero or the number of elements inpDeviceMasks.pDeviceMasks– an array of device masks, one for each element ofVkPresentInfoKHR::pSwapchains.mode– the device group present mode that will be used for this present.
Layout
struct VkDeviceGroupPresentInfoKHR { VkStructureType sType; void const * pNext; uint32_t swapchainCount; uint32_t const * pDeviceMasks; VkDeviceGroupPresentModeFlagBitsKHR mode; }
-
-
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 Modifier and Type Method Description static VkDeviceGroupPresentInfoKHRcalloc()Returns a newVkDeviceGroupPresentInfoKHRinstance allocated withmemCalloc.static VkDeviceGroupPresentInfoKHR.Buffercalloc(int capacity)Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated withmemCalloc.static VkDeviceGroupPresentInfoKHRcallocStack()Returns a newVkDeviceGroupPresentInfoKHRinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkDeviceGroupPresentInfoKHR.BuffercallocStack(int capacity)Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkDeviceGroupPresentInfoKHR.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDeviceGroupPresentInfoKHRcallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkDeviceGroupPresentInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.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 VkDeviceGroupPresentInfoKHRmallocStack()Returns a newVkDeviceGroupPresentInfoKHRinstance allocated on the thread-localMemoryStack.static VkDeviceGroupPresentInfoKHR.BuffermallocStack(int capacity)Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated on the thread-localMemoryStack.static VkDeviceGroupPresentInfoKHR.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.static VkDeviceGroupPresentInfoKHRmallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkDeviceGroupPresentInfoKHRinstance allocated on the specifiedMemoryStack.intmode()Returns the value of themodefield.VkDeviceGroupPresentInfoKHRmode(int value)Sets the specified value to themodefield.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()Returns aIntBufferview of the data pointed to by thepDeviceMasksfield.VkDeviceGroupPresentInfoKHRpDeviceMasks(java.nio.IntBuffer value)Sets the address of the specifiedIntBufferto thepDeviceMasksfield.longpNext()Returns the value of thepNextfield.VkDeviceGroupPresentInfoKHRpNext(long value)Sets the specified value to thepNextfield.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()Returns the value of thesTypefield.VkDeviceGroupPresentInfoKHRsType(int value)Sets the specified value to thesTypefield.intswapchainCount()Returns the value of theswapchainCountfield.static voidvalidate(long struct)Validates pointer members that should not beNULL.static voidvalidate(long array, int count)Callsvalidate(long)for each struct contained in the specified struct array.
-
-
-
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()
Returns the value of thesTypefield.
-
pNext
public long pNext()
Returns the value of thepNextfield.
-
swapchainCount
public int swapchainCount()
Returns the value of theswapchainCountfield.
-
pDeviceMasks
@Nullable public java.nio.IntBuffer pDeviceMasks()
Returns aIntBufferview of the data pointed to by thepDeviceMasksfield.
-
mode
public int mode()
Returns the value of themodefield.
-
sType
public VkDeviceGroupPresentInfoKHR sType(int value)
Sets the specified value to thesTypefield.
-
pNext
public VkDeviceGroupPresentInfoKHR pNext(long value)
Sets the specified value to thepNextfield.
-
pDeviceMasks
public VkDeviceGroupPresentInfoKHR pDeviceMasks(@Nullable java.nio.IntBuffer value)
Sets the address of the specifiedIntBufferto thepDeviceMasksfield.
-
mode
public VkDeviceGroupPresentInfoKHR mode(int value)
Sets the specified value to themodefield.
-
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
public static VkDeviceGroupPresentInfoKHR mallocStack()
Returns a newVkDeviceGroupPresentInfoKHRinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkDeviceGroupPresentInfoKHR callocStack()
Returns a newVkDeviceGroupPresentInfoKHRinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkDeviceGroupPresentInfoKHR mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupPresentInfoKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkDeviceGroupPresentInfoKHR callocStack(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
-
mallocStack
public static VkDeviceGroupPresentInfoKHR.Buffer mallocStack(int capacity)
Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkDeviceGroupPresentInfoKHR.Buffer callocStack(int capacity)
Returns a newVkDeviceGroupPresentInfoKHR.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static VkDeviceGroupPresentInfoKHR.Buffer mallocStack(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
-
callocStack
public static VkDeviceGroupPresentInfoKHR.Buffer callocStack(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
-
validate
public static void validate(long array, int count)Callsvalidate(long)for each struct contained in the specified struct array.- Parameters:
array- the struct array to validatecount- the number of structs inarray
-
-