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.NativeResource
Create a logical device from multiple physical devices.Description
The elements of the
pPhysicalDevices
array 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 thepPhysicalDevices
array determines the device index of each physical device, with elementi
being 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 withphysicalDeviceCount
equal to zero, is equivalent to aphysicalDeviceCount
of one andpPhysicalDevices
pointing to thephysicalDevice
parameter toCreateDevice
. In particular, the device index of that physical device is zero.Valid Usage
- Each element of
pPhysicalDevices
must be unique - All elements of
pPhysicalDevices
must be in the same device group as enumerated byEnumeratePhysicalDeviceGroups
- If
physicalDeviceCount
is not 0, thephysicalDevice
parameter ofCreateDevice
must be an element ofpPhysicalDevices
.
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
- If
physicalDeviceCount
is not 0,pPhysicalDevices
must be a valid pointer to an array ofphysicalDeviceCount
validVkPhysicalDevice
handles
Member documentation
sType
– the type of this structure.pNext
–NULL
or a pointer to an extension-specific structure.physicalDeviceCount
– the number of elements in thepPhysicalDevices
array.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 class
VkDeviceGroupDeviceCreateInfo.Buffer
An array ofVkDeviceGroupDeviceCreateInfo
structs.
-
Field Summary
Fields Modifier and Type Field Description static int
ALIGNOF
The struct alignment in bytes.static int
PHYSICALDEVICECOUNT
PNEXT
PPHYSICALDEVICESThe struct member offsets.static int
SIZEOF
The struct size in bytes.static int
STYPE
The struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkDeviceGroupDeviceCreateInfo(java.nio.ByteBuffer container)
Creates aVkDeviceGroupDeviceCreateInfo
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VkDeviceGroupDeviceCreateInfo
calloc()
Returns a newVkDeviceGroupDeviceCreateInfo
instance allocated withmemCalloc
.static VkDeviceGroupDeviceCreateInfo.Buffer
calloc(int capacity)
Returns a newVkDeviceGroupDeviceCreateInfo.Buffer
instance allocated withmemCalloc
.static VkDeviceGroupDeviceCreateInfo
callocStack()
Returns a newVkDeviceGroupDeviceCreateInfo
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkDeviceGroupDeviceCreateInfo.Buffer
callocStack(int capacity)
Returns a newVkDeviceGroupDeviceCreateInfo.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkDeviceGroupDeviceCreateInfo.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupDeviceCreateInfo.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkDeviceGroupDeviceCreateInfo
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupDeviceCreateInfo
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkDeviceGroupDeviceCreateInfo
create()
Returns a newVkDeviceGroupDeviceCreateInfo
instance allocated withBufferUtils
.static VkDeviceGroupDeviceCreateInfo.Buffer
create(int capacity)
Returns a newVkDeviceGroupDeviceCreateInfo.Buffer
instance allocated withBufferUtils
.static VkDeviceGroupDeviceCreateInfo
create(long address)
Returns a newVkDeviceGroupDeviceCreateInfo
instance for the specified memory address.static VkDeviceGroupDeviceCreateInfo.Buffer
create(long address, int capacity)
Create aVkDeviceGroupDeviceCreateInfo.Buffer
instance at the specified memory.static VkDeviceGroupDeviceCreateInfo
createSafe(long address)
static VkDeviceGroupDeviceCreateInfo.Buffer
createSafe(long address, int capacity)
static VkDeviceGroupDeviceCreateInfo
malloc()
Returns a newVkDeviceGroupDeviceCreateInfo
instance allocated withmemAlloc
.static VkDeviceGroupDeviceCreateInfo.Buffer
malloc(int capacity)
Returns a newVkDeviceGroupDeviceCreateInfo.Buffer
instance allocated withmemAlloc
.static VkDeviceGroupDeviceCreateInfo
mallocStack()
Returns a newVkDeviceGroupDeviceCreateInfo
instance allocated on the thread-localMemoryStack
.static VkDeviceGroupDeviceCreateInfo.Buffer
mallocStack(int capacity)
Returns a newVkDeviceGroupDeviceCreateInfo.Buffer
instance allocated on the thread-localMemoryStack
.static VkDeviceGroupDeviceCreateInfo.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupDeviceCreateInfo.Buffer
instance allocated on the specifiedMemoryStack
.static VkDeviceGroupDeviceCreateInfo
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupDeviceCreateInfo
instance allocated on the specifiedMemoryStack
.static int
nphysicalDeviceCount(long struct)
Unsafe version ofphysicalDeviceCount()
.static void
nphysicalDeviceCount(long struct, int value)
Sets the specified value to thephysicalDeviceCount
field of the specifiedstruct
.static long
npNext(long struct)
Unsafe version ofpNext()
.static void
npNext(long struct, long value)
Unsafe version ofpNext
.static org.lwjgl.PointerBuffer
npPhysicalDevices(long struct)
Unsafe version ofpPhysicalDevices
.static void
npPhysicalDevices(long struct, org.lwjgl.PointerBuffer value)
Unsafe version ofpPhysicalDevices
.static int
nsType(long struct)
Unsafe version ofsType()
.static void
nsType(long struct, int value)
Unsafe version ofsType
.int
physicalDeviceCount()
Returns the value of thephysicalDeviceCount
field.long
pNext()
Returns the value of thepNext
field.VkDeviceGroupDeviceCreateInfo
pNext(long value)
Sets the specified value to thepNext
field.org.lwjgl.PointerBuffer
pPhysicalDevices()
Returns aPointerBuffer
view of the data pointed to by thepPhysicalDevices
field.VkDeviceGroupDeviceCreateInfo
pPhysicalDevices(org.lwjgl.PointerBuffer value)
Sets the address of the specifiedPointerBuffer
to thepPhysicalDevices
field.VkDeviceGroupDeviceCreateInfo
set(int sType, long pNext, org.lwjgl.PointerBuffer pPhysicalDevices)
Initializes this struct with the specified values.VkDeviceGroupDeviceCreateInfo
set(VkDeviceGroupDeviceCreateInfo src)
Copies the specified struct data to this struct.int
sizeof()
int
sType()
Returns the value of thesType
field.VkDeviceGroupDeviceCreateInfo
sType(int value)
Sets the specified value to thesType
field.static void
validate(long struct)
Validates pointer members that should not beNULL
.static void
validate(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 aVkDeviceGroupDeviceCreateInfo
instance at the current position of the specifiedByteBuffer
container. 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:
sizeof
in classorg.lwjgl.system.Struct
-
sType
public int sType()
Returns the value of thesType
field.
-
pNext
public long pNext()
Returns the value of thepNext
field.
-
physicalDeviceCount
public int physicalDeviceCount()
Returns the value of thephysicalDeviceCount
field.
-
pPhysicalDevices
@Nullable public org.lwjgl.PointerBuffer pPhysicalDevices()
Returns aPointerBuffer
view of the data pointed to by thepPhysicalDevices
field.
-
sType
public VkDeviceGroupDeviceCreateInfo sType(int value)
Sets the specified value to thesType
field.
-
pNext
public VkDeviceGroupDeviceCreateInfo pNext(long value)
Sets the specified value to thepNext
field.
-
pPhysicalDevices
public VkDeviceGroupDeviceCreateInfo pPhysicalDevices(@Nullable org.lwjgl.PointerBuffer value)
Sets the address of the specifiedPointerBuffer
to thepPhysicalDevices
field.
-
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 newVkDeviceGroupDeviceCreateInfo
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static VkDeviceGroupDeviceCreateInfo calloc()
Returns a newVkDeviceGroupDeviceCreateInfo
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static VkDeviceGroupDeviceCreateInfo create()
Returns a newVkDeviceGroupDeviceCreateInfo
instance allocated withBufferUtils
.
-
create
public static VkDeviceGroupDeviceCreateInfo create(long address)
Returns a newVkDeviceGroupDeviceCreateInfo
instance for the specified memory address.
-
createSafe
@Nullable public static VkDeviceGroupDeviceCreateInfo createSafe(long address)
-
malloc
public static VkDeviceGroupDeviceCreateInfo.Buffer malloc(int capacity)
Returns a newVkDeviceGroupDeviceCreateInfo.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static VkDeviceGroupDeviceCreateInfo.Buffer calloc(int capacity)
Returns a newVkDeviceGroupDeviceCreateInfo.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static VkDeviceGroupDeviceCreateInfo.Buffer create(int capacity)
Returns a newVkDeviceGroupDeviceCreateInfo.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkDeviceGroupDeviceCreateInfo.Buffer create(long address, int capacity)
Create aVkDeviceGroupDeviceCreateInfo.Buffer
instance 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 newVkDeviceGroupDeviceCreateInfo
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static VkDeviceGroupDeviceCreateInfo callocStack()
Returns a newVkDeviceGroupDeviceCreateInfo
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static VkDeviceGroupDeviceCreateInfo mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupDeviceCreateInfo
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkDeviceGroupDeviceCreateInfo callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkDeviceGroupDeviceCreateInfo
instance allocated on the specifiedMemoryStack
and 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.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static VkDeviceGroupDeviceCreateInfo.Buffer callocStack(int capacity)
Returns a newVkDeviceGroupDeviceCreateInfo.Buffer
instance allocated on the thread-localMemoryStack
and 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.Buffer
instance 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.Buffer
instance allocated on the specifiedMemoryStack
and 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 thephysicalDeviceCount
field 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
-
-