Class VkDeviceGroupDeviceCreateInfo
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkDeviceGroupDeviceCreateInfo
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkDeviceGroupDeviceCreateInfoKHR
public class VkDeviceGroupDeviceCreateInfo extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceCreate a logical device from multiple physical devices.Description
The elements of the
pPhysicalDevicesarray are an ordered list of the physical devices that the logical device represents. These must be a subset of a single device group, and need not be in the same order as they were enumerated. The order of the physical devices in thepPhysicalDevicesarray determines the device index of each physical device, with elementibeing assigned a device index ofi. Certain commands and structures refer to one or more physical devices by using device indices or device masks formed using device indices.A logical device created without using
VkDeviceGroupDeviceCreateInfo, or withphysicalDeviceCountequal to zero, is equivalent to aphysicalDeviceCountof one andpPhysicalDevicespointing to thephysicalDeviceparameter toCreateDevice. In particular, the device index of that physical device is zero.Valid Usage
- Each element of
pPhysicalDevicesmust be unique - All elements of
pPhysicalDevicesmust be in the same device group as enumerated byEnumeratePhysicalDeviceGroups - If
physicalDeviceCountis not 0, thephysicalDeviceparameter ofCreateDevicemust be an element ofpPhysicalDevices.
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO- If
physicalDeviceCountis not 0,pPhysicalDevicesmust be a valid pointer to an array ofphysicalDeviceCountvalidVkPhysicalDevicehandles
Member documentation
sType– the type of this structure.pNext–NULLor a pointer to an extension-specific structure.physicalDeviceCount– the number of elements in thepPhysicalDevicesarray.pPhysicalDevices– an array of physical device handles belonging to the same device group.
Layout
struct VkDeviceGroupDeviceCreateInfo { VkStructureType sType; void const * pNext; uint32_t physicalDeviceCount; VkPhysicalDevice const * pPhysicalDevices; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkDeviceGroupDeviceCreateInfo.BufferAn array ofVkDeviceGroupDeviceCreateInfostructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intPHYSICALDEVICECOUNT
PNEXT
PPHYSICALDEVICESThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSTYPEThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkDeviceGroupDeviceCreateInfo(java.nio.ByteBuffer container)Creates aVkDeviceGroupDeviceCreateInfoinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VkDeviceGroupDeviceCreateInfocalloc()Returns a newVkDeviceGroupDeviceCreateInfoinstance allocated withmemCalloc.static VkDeviceGroupDeviceCreateInfo.Buffercalloc(int capacity)Returns a newVkDeviceGroupDeviceCreateInfo.Bufferinstance allocated withmemCalloc.static VkDeviceGroupDeviceCreateInfocallocStack()Returns a newVkDeviceGroupDeviceCreateInfoinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkDeviceGroupDeviceCreateInfo.BuffercallocStack(int capacity)Returns a newVkDeviceGroupDeviceCreateInfo.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkDeviceGroupDeviceCreateInfo.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkDeviceGroupDeviceCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDeviceGroupDeviceCreateInfocallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkDeviceGroupDeviceCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDeviceGroupDeviceCreateInfocreate()Returns a newVkDeviceGroupDeviceCreateInfoinstance allocated withBufferUtils.static VkDeviceGroupDeviceCreateInfo.Buffercreate(int capacity)Returns a newVkDeviceGroupDeviceCreateInfo.Bufferinstance allocated withBufferUtils.static VkDeviceGroupDeviceCreateInfocreate(long address)Returns a newVkDeviceGroupDeviceCreateInfoinstance for the specified memory address.static VkDeviceGroupDeviceCreateInfo.Buffercreate(long address, int capacity)Create aVkDeviceGroupDeviceCreateInfo.Bufferinstance at the specified memory.static VkDeviceGroupDeviceCreateInfocreateSafe(long address)static VkDeviceGroupDeviceCreateInfo.BuffercreateSafe(long address, int capacity)static VkDeviceGroupDeviceCreateInfomalloc()Returns a newVkDeviceGroupDeviceCreateInfoinstance allocated withmemAlloc.static VkDeviceGroupDeviceCreateInfo.Buffermalloc(int capacity)Returns a newVkDeviceGroupDeviceCreateInfo.Bufferinstance allocated withmemAlloc.static VkDeviceGroupDeviceCreateInfomallocStack()Returns a newVkDeviceGroupDeviceCreateInfoinstance allocated on the thread-localMemoryStack.static VkDeviceGroupDeviceCreateInfo.BuffermallocStack(int capacity)Returns a newVkDeviceGroupDeviceCreateInfo.Bufferinstance allocated on the thread-localMemoryStack.static VkDeviceGroupDeviceCreateInfo.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkDeviceGroupDeviceCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkDeviceGroupDeviceCreateInfomallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkDeviceGroupDeviceCreateInfoinstance allocated on the specifiedMemoryStack.static intnphysicalDeviceCount(long struct)Unsafe version ofphysicalDeviceCount().static voidnphysicalDeviceCount(long struct, int value)Sets the specified value to thephysicalDeviceCountfield of the specifiedstruct.static longnpNext(long struct)Unsafe version ofpNext().static voidnpNext(long struct, long value)Unsafe version ofpNext.static org.lwjgl.PointerBuffernpPhysicalDevices(long struct)Unsafe version ofpPhysicalDevices.static voidnpPhysicalDevices(long struct, org.lwjgl.PointerBuffer value)Unsafe version ofpPhysicalDevices.static intnsType(long struct)Unsafe version ofsType().static voidnsType(long struct, int value)Unsafe version ofsType.intphysicalDeviceCount()Returns the value of thephysicalDeviceCountfield.longpNext()Returns the value of thepNextfield.VkDeviceGroupDeviceCreateInfopNext(long value)Sets the specified value to thepNextfield.org.lwjgl.PointerBufferpPhysicalDevices()Returns aPointerBufferview of the data pointed to by thepPhysicalDevicesfield.VkDeviceGroupDeviceCreateInfopPhysicalDevices(org.lwjgl.PointerBuffer value)Sets the address of the specifiedPointerBufferto thepPhysicalDevicesfield.VkDeviceGroupDeviceCreateInfoset(int sType, long pNext, org.lwjgl.PointerBuffer pPhysicalDevices)Initializes this struct with the specified values.VkDeviceGroupDeviceCreateInfoset(VkDeviceGroupDeviceCreateInfo src)Copies the specified struct data to this struct.intsizeof()intsType()Returns the value of thesTypefield.VkDeviceGroupDeviceCreateInfosType(int value)Sets the specified value to thesTypefield.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
-
VkDeviceGroupDeviceCreateInfo
public VkDeviceGroupDeviceCreateInfo(java.nio.ByteBuffer container)
Creates aVkDeviceGroupDeviceCreateInfoinstance 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.
-
physicalDeviceCount
public int physicalDeviceCount()
Returns the value of thephysicalDeviceCountfield.
-
pPhysicalDevices
@Nullable public org.lwjgl.PointerBuffer pPhysicalDevices()
Returns aPointerBufferview of the data pointed to by thepPhysicalDevicesfield.
-
sType
public VkDeviceGroupDeviceCreateInfo sType(int value)
Sets the specified value to thesTypefield.
-
pNext
public VkDeviceGroupDeviceCreateInfo pNext(long value)
Sets the specified value to thepNextfield.
-
pPhysicalDevices
public VkDeviceGroupDeviceCreateInfo pPhysicalDevices(@Nullable org.lwjgl.PointerBuffer value)
Sets the address of the specifiedPointerBufferto thepPhysicalDevicesfield.
-
set
public VkDeviceGroupDeviceCreateInfo set(int sType, long pNext, @Nullable org.lwjgl.PointerBuffer pPhysicalDevices)
Initializes this struct with the specified values.
-
set
public VkDeviceGroupDeviceCreateInfo set(VkDeviceGroupDeviceCreateInfo src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkDeviceGroupDeviceCreateInfo malloc()
Returns a newVkDeviceGroupDeviceCreateInfoinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkDeviceGroupDeviceCreateInfo calloc()
Returns a newVkDeviceGroupDeviceCreateInfoinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkDeviceGroupDeviceCreateInfo create()
Returns a newVkDeviceGroupDeviceCreateInfoinstance allocated withBufferUtils.
-
create
public static VkDeviceGroupDeviceCreateInfo create(long address)
Returns a newVkDeviceGroupDeviceCreateInfoinstance for the specified memory address.
-
createSafe
@Nullable public static VkDeviceGroupDeviceCreateInfo createSafe(long address)
-
malloc
public static VkDeviceGroupDeviceCreateInfo.Buffer malloc(int capacity)
Returns a newVkDeviceGroupDeviceCreateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkDeviceGroupDeviceCreateInfo.Buffer calloc(int capacity)
Returns a newVkDeviceGroupDeviceCreateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkDeviceGroupDeviceCreateInfo.Buffer create(int capacity)
Returns a newVkDeviceGroupDeviceCreateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkDeviceGroupDeviceCreateInfo.Buffer create(long address, int capacity)
Create aVkDeviceGroupDeviceCreateInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkDeviceGroupDeviceCreateInfo.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkDeviceGroupDeviceCreateInfo mallocStack()
Returns a newVkDeviceGroupDeviceCreateInfoinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkDeviceGroupDeviceCreateInfo callocStack()
Returns a newVkDeviceGroupDeviceCreateInfoinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkDeviceGroupDeviceCreateInfo mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupDeviceCreateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkDeviceGroupDeviceCreateInfo callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupDeviceCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
mallocStack
public static VkDeviceGroupDeviceCreateInfo.Buffer mallocStack(int capacity)
Returns a newVkDeviceGroupDeviceCreateInfo.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkDeviceGroupDeviceCreateInfo.Buffer callocStack(int capacity)
Returns a newVkDeviceGroupDeviceCreateInfo.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static VkDeviceGroupDeviceCreateInfo.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupDeviceCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
callocStack
public static VkDeviceGroupDeviceCreateInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupDeviceCreateInfo.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().
-
nphysicalDeviceCount
public static int nphysicalDeviceCount(long struct)
Unsafe version ofphysicalDeviceCount().
-
npPhysicalDevices
@Nullable public static org.lwjgl.PointerBuffer npPhysicalDevices(long struct)
Unsafe version ofpPhysicalDevices.
-
nsType
public static void nsType(long struct, int value)Unsafe version ofsType.
-
npNext
public static void npNext(long struct, long value)Unsafe version ofpNext.
-
nphysicalDeviceCount
public static void nphysicalDeviceCount(long struct, int value)Sets the specified value to thephysicalDeviceCountfield of the specifiedstruct.
-
npPhysicalDevices
public static void npPhysicalDevices(long struct, @Nullable org.lwjgl.PointerBuffer value)Unsafe version ofpPhysicalDevices.
-
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
-
-