The queue returned by vkGetDeviceQueue2 must have the same flags value from this structure as that used at device creation time in a VkDeviceQueueCreateInfo structure.
Normally, if you create both protected-capable and non-protected-capable queues with the same family, they are treated as separate lists of queues and queueIndex is relative to the start of the list of queues specified by both queueFamilyIndex and flags. However, for historical reasons, some implementations may exhibit different behavior. These divergent implementations instead concatenate the lists of queues and treat queueIndex as relative to the start of the first list of queues with the given queueFamilyIndex. This only matters in cases where an application has created both protected-capable and non-protected-capable queues from the same queue family.
For such divergent implementations, the maximum value of queueIndex is equal to the sum of VkDeviceQueueCreateInfo::queueCount minus one, for all VkDeviceQueueCreateInfo structures that share a common queueFamilyIndex.
Such implementations will return NULL for either the protected or unprotected queues when calling vkGetDeviceQueue2 with queueIndex in the range zero to VkDeviceQueueCreateInfo::queueCount minus one. In cases where these implementations returned NULL, the corresponding queues are instead located in the extended range described in the preceding two paragraphs.
This behaviour will not be observed on any driver that has passed Vulkan conformance test suite version 1.3.3.0, or any subsequent version. This information can be found by querying VkPhysicalDeviceDriverProperties::conformanceVersion.
queueFamilyIndex must be one of the queue family indices specified when device was created, via the VkDeviceQueueCreateInfo structureflags must be equal to VkDeviceQueueCreateInfo::flags for a VkDeviceQueueCreateInfo structure for the queue family indicated by queueFamilyIndex when device was createdqueueIndex must be less than VkDeviceQueueCreateInfo::queueCount for the corresponding queue family and flags indicated by queueFamilyIndex and flags when device was createdsType must be STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2pNext must be NULLflags must be a valid combination of VkDeviceQueueCreateFlagBits values
struct VkDeviceQueueInfo2 {
VkStructureType sType;
void const * pNext;
VkDeviceQueueCreateFlags flags;
uint32_t queueFamilyIndex;
uint32_t queueIndex;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkDeviceQueueInfo2.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | FLAGS
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | QUEUEFAMILYINDEX
The struct member offsets. |
| public static final int | QUEUEINDEX
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkDeviceQueueInfo2(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkDeviceQueueInfo2 | |
| public static VkDeviceQueueInfo2. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkDeviceQueueInfo2 | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkDeviceQueueInfo2. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkDeviceQueueInfo2 | |
| public static VkDeviceQueueInfo2 | |
| public static VkDeviceQueueInfo2. | |
| public static VkDeviceQueueInfo2. | |
| protected VkDeviceQueueInfo2 | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkDeviceQueueInfo2 | |
| public static VkDeviceQueueInfo2 | |
| public static VkDeviceQueueInfo2. | create(int
the buffer capacity capacity)Returns a new |
| public static VkDeviceQueueInfo2. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkDeviceQueueInfo2 | |
| public static VkDeviceQueueInfo2. | |
| public int | |
| public VkDeviceQueueInfo2 | |
| public static VkDeviceQueueInfo2 | |
| public static VkDeviceQueueInfo2. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkDeviceQueueInfo2 | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkDeviceQueueInfo2. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkDeviceQueueInfo2 | |
| public static VkDeviceQueueInfo2 | |
| public static VkDeviceQueueInfo2. | |
| public static VkDeviceQueueInfo2. | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public long | |
| public VkDeviceQueueInfo2 | |
| public int | |
| public VkDeviceQueueInfo2 | |
| public int | queueIndex()
the index of the queue to retrieve from within the set of queues that share both the queue family and flags specified. |
| public VkDeviceQueueInfo2 | |
| public VkDeviceQueueInfo2 | set(int sType, long pNext, int flags, int queueFamilyIndex, int queueIndex)
Initializes this struct with the specified values. |
| public VkDeviceQueueInfo2 | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkDeviceQueueInfo2 | |
| public VkDeviceQueueInfo2 |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| FLAGS | back to summary |
|---|---|
| public static final int FLAGS The struct member offsets. | |
| PNEXT | back to summary |
|---|---|
| public static final int PNEXT The struct member offsets. | |
| QUEUEFAMILYINDEX | back to summary |
|---|---|
| public static final int QUEUEFAMILYINDEX The struct member offsets. | |
| QUEUEINDEX | back to summary |
|---|---|
| public static final int QUEUEINDEX The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| STYPE | back to summary |
|---|---|
| public static final int STYPE The struct member offsets. | |
| VkDeviceQueueInfo2 | back to summary |
|---|---|
| protected VkDeviceQueueInfo2(long address, ByteBuffer container) | |
| VkDeviceQueueInfo2 | back to summary |
|---|---|
| public VkDeviceQueueInfo2(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| calloc | back to summary |
|---|---|
| public static VkDeviceQueueInfo2 calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkDeviceQueueInfo2. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkDeviceQueueInfo2 calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkDeviceQueueInfo2. Returns a new
| |
| callocStack | back to summary |
|---|---|
| public static VkDeviceQueueInfo2 callocStack()
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| callocStack | back to summary |
|---|---|
| public static VkDeviceQueueInfo2 callocStack(MemoryStack stack)
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| callocStack | back to summary |
|---|---|
| public static VkDeviceQueueInfo2. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| callocStack | back to summary |
|---|---|
| public static VkDeviceQueueInfo2. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| create | back to summary |
|---|---|
| protected VkDeviceQueueInfo2 create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkDeviceQueueInfo2 create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkDeviceQueueInfo2 create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkDeviceQueueInfo2. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkDeviceQueueInfo2. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkDeviceQueueInfo2 createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkDeviceQueueInfo2. Like
| |
| flags | back to summary |
|---|---|
| public int flags() a
| |
| flags | back to summary |
|---|---|
| public VkDeviceQueueInfo2 flags(int value) Sets the specified value to the | |
| malloc | back to summary |
|---|---|
| public static VkDeviceQueueInfo2 malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkDeviceQueueInfo2. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkDeviceQueueInfo2 malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkDeviceQueueInfo2. Returns a new
| |
| mallocStack | back to summary |
|---|---|
| public static VkDeviceQueueInfo2 mallocStack()
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| mallocStack | back to summary |
|---|---|
| public static VkDeviceQueueInfo2 mallocStack(MemoryStack stack)
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| mallocStack | back to summary |
|---|---|
| public static VkDeviceQueueInfo2. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| mallocStack | back to summary |
|---|---|
| public static VkDeviceQueueInfo2. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| nflags | back to summary |
|---|---|
| public static int nflags(long struct) Unsafe version of | |
| nflags | back to summary |
|---|---|
| public static void nflags(long struct, int value) Unsafe version of | |
| npNext | back to summary |
|---|---|
| public static long npNext(long struct) Unsafe version of | |
| npNext | back to summary |
|---|---|
| public static void npNext(long struct, long value) Unsafe version of | |
| nqueueFamilyIndex | back to summary |
|---|---|
| public static int nqueueFamilyIndex(long struct) Unsafe version of | |
| nqueueFamilyIndex | back to summary |
|---|---|
| public static void nqueueFamilyIndex(long struct, int value) Unsafe version of | |
| nqueueIndex | back to summary |
|---|---|
| public static int nqueueIndex(long struct) Unsafe version of | |
| nqueueIndex | back to summary |
|---|---|
| public static void nqueueIndex(long struct, int value) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static int nsType(long struct) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static void nsType(long struct, int value) Unsafe version of | |
| pNext | back to summary |
|---|---|
| public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkDeviceQueueInfo2 pNext(long value) Sets the specified value to the | |
| queueFamilyIndex | back to summary |
|---|---|
| public int queueFamilyIndex() the index of the queue family to which the queue belongs.
| |
| queueFamilyIndex | back to summary |
|---|---|
| public VkDeviceQueueInfo2 queueFamilyIndex(int value) Sets the specified value to the | |
| queueIndex | back to summary |
|---|---|
| public int queueIndex() the index of the queue to retrieve from within the set of queues that share both the queue family and flags specified.
| |
| queueIndex | back to summary |
|---|---|
| public VkDeviceQueueInfo2 queueIndex(int value) Sets the specified value to the | |
| set | back to summary |
|---|---|
| public VkDeviceQueueInfo2 set(int sType, long pNext, int flags, int queueFamilyIndex, int queueIndex) Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public VkDeviceQueueInfo2 set(VkDeviceQueueInfo2 src) Copies the specified struct data to this struct.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| sType | back to summary |
|---|---|
| public int sType() a
| |
| sType | back to summary |
|---|---|
| public VkDeviceQueueInfo2 sType(int value) Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkDeviceQueueInfo2 sType$Default() Sets the | |
VkDeviceQueueInfo2 structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkDeviceQueueInfo2 |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public int | |
| public VkDeviceQueueInfo2. | |
| protected VkDeviceQueueInfo2 | |
| public long | |
| public VkDeviceQueueInfo2. | |
| public int | |
| public VkDeviceQueueInfo2. | queueFamilyIndex(int value)
Sets the specified value to the |
| public int | |
| public VkDeviceQueueInfo2. | |
| protected VkDeviceQueueInfo2. | |
| public int | |
| public VkDeviceQueueInfo2. | |
| public VkDeviceQueueInfo2. | sType$Default()
Sets the |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkDeviceQueueInfo2 ELEMENT_FACTORY | |
| Buffer | back to summary |
|---|---|
| public Buffer(ByteBuffer container) Creates a new Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
by The created buffer instance holds a strong reference to the container object. | |
| Buffer | back to summary |
|---|---|
| public Buffer(long address, int cap) | |
| Buffer | back to summary |
|---|---|
| pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap) | |
| flags | back to summary |
|---|---|
public int flags()
| |
| flags | back to summary |
|---|---|
| public VkDeviceQueueInfo2. Sets the specified value to the | |
| getElementFactory | back to summary |
|---|---|
| protected VkDeviceQueueInfo2 getElementFactory() Implements abstract org.
| |
| pNext | back to summary |
|---|---|
public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkDeviceQueueInfo2. Sets the specified value to the | |
| queueFamilyIndex | back to summary |
|---|---|
public int queueFamilyIndex()
| |
| queueFamilyIndex | back to summary |
|---|---|
| public VkDeviceQueueInfo2. Sets the specified value to the | |
| queueIndex | back to summary |
|---|---|
public int queueIndex()
| |
| queueIndex | back to summary |
|---|---|
| public VkDeviceQueueInfo2. Sets the specified value to the | |
| self | back to summary |
|---|---|
| protected VkDeviceQueueInfo2. Implements abstract org.
| |
| sType | back to summary |
|---|---|
public int sType()
| |
| sType | back to summary |
|---|---|
| public VkDeviceQueueInfo2. Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkDeviceQueueInfo2. Sets the | |