public class VkQueueFamilyProperties
extends org.lwjgl.system.Struct
implements org.lwjgl.system.NativeResource
The value returned in minImageTransferGranularity has a unit of compressed texel blocks for images having a block-compressed format, and a unit of texels otherwise.
Possible values of minImageTransferGranularity are:
(0,0,0) which indicates that only whole mip levels must be transferred using the image transfer operations on the corresponding queues. In this case, the following restrictions apply to all offset and extent parameters of image transfer operations:
x, y, and z members of a VkOffset3D parameter must always be zero.width, height, and depth members of a VkExtent3D parameter must always match the width, height, and depth of the image subresource corresponding to the parameter, respectively.(Ax, Ay, Az) where Ax, Ay, and Az are all integer powers of two. In this case the following restrictions apply to all image transfer operations:
x, y, and z of a VkOffset3D parameter must be integer multiples of Ax, Ay, and Az, respectively.width of a VkExtent3D parameter must be an integer multiple of Ax, or else x + width must equal the width of the image subresource corresponding to the parameter.height of a VkExtent3D parameter must be an integer multiple of Ay, or else y + height must equal the height of the image subresource corresponding to the parameter.depth of a VkExtent3D parameter must be an integer multiple of Az, or else z + depth must equal the depth of the image subresource corresponding to the parameter.Queues supporting graphics and/or compute operations must report (1,1,1) in minImageTransferGranularity, meaning that there are no additional restrictions on the granularity of image transfer operations for these queues. Other queues supporting image transfer operations are only required: to support whole mip level transfers, thus minImageTransferGranularity for queues belonging to such queue families may be (0,0,0).
The Device Memory section describes memory properties queried from the physical device.
For physical device feature queries see the Features chapter.
VkExtent3D, VkQueueFamilyProperties2, GetPhysicalDeviceQueueFamilyProperties
queueFlags – a bitmask of VkQueueFlagBits indicating capabilities of the queues in this queue family.queueCount – the unsigned integer count of queues in this queue family. Each queue family must support at least one queue.timestampValidBits – the unsigned integer count of meaningful bits in the timestamps written via vkCmdWriteTimestamp. The valid range for the count is 36..64 bits, or a value of 0, indicating no support for timestamps. Bits outside the valid range are guaranteed to be zeros.minImageTransferGranularity – the minimum granularity supported for image transfer operations on the queues in this queue family.
struct VkQueueFamilyProperties {
VkQueueFlags queueFlags;
uint32_t queueCount;
uint32_t timestampValidBits;
VkExtent3D minImageTransferGranularity;
}| Modifier and Type | Class and Description |
|---|---|
static class |
VkQueueFamilyProperties.Buffer
An array of
VkQueueFamilyProperties structs. |
| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGNOF
The struct alignment in bytes.
|
static int |
MINIMAGETRANSFERGRANULARITY
The struct member offsets.
|
static int |
QUEUECOUNT
The struct member offsets.
|
static int |
QUEUEFLAGS
The struct member offsets.
|
static int |
SIZEOF
The struct size in bytes.
|
static int |
TIMESTAMPVALIDBITS
The struct member offsets.
|
| Constructor and Description |
|---|
VkQueueFamilyProperties(java.nio.ByteBuffer container)
Creates a
VkQueueFamilyProperties instance at the current position of the specified ByteBuffer container. |
| Modifier and Type | Method and Description |
|---|---|
static VkQueueFamilyProperties |
calloc()
Returns a new
VkQueueFamilyProperties instance allocated with memCalloc. |
static VkQueueFamilyProperties.Buffer |
calloc(int capacity)
Returns a new
VkQueueFamilyProperties.Buffer instance allocated with memCalloc. |
static VkQueueFamilyProperties |
callocStack()
Returns a new
VkQueueFamilyProperties instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkQueueFamilyProperties.Buffer |
callocStack(int capacity)
Returns a new
VkQueueFamilyProperties.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkQueueFamilyProperties.Buffer |
callocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkQueueFamilyProperties.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkQueueFamilyProperties |
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkQueueFamilyProperties instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkQueueFamilyProperties |
create()
Returns a new
VkQueueFamilyProperties instance allocated with BufferUtils. |
static VkQueueFamilyProperties.Buffer |
create(int capacity)
Returns a new
VkQueueFamilyProperties.Buffer instance allocated with BufferUtils. |
static VkQueueFamilyProperties |
create(long address)
Returns a new
VkQueueFamilyProperties instance for the specified memory address. |
static VkQueueFamilyProperties.Buffer |
create(long address,
int capacity)
Create a
VkQueueFamilyProperties.Buffer instance at the specified memory. |
static VkQueueFamilyProperties |
createSafe(long address)
|
static VkQueueFamilyProperties.Buffer |
createSafe(long address,
int capacity)
|
static VkQueueFamilyProperties |
malloc()
Returns a new
VkQueueFamilyProperties instance allocated with memAlloc. |
static VkQueueFamilyProperties.Buffer |
malloc(int capacity)
Returns a new
VkQueueFamilyProperties.Buffer instance allocated with memAlloc. |
static VkQueueFamilyProperties |
mallocStack()
Returns a new
VkQueueFamilyProperties instance allocated on the thread-local MemoryStack. |
static VkQueueFamilyProperties.Buffer |
mallocStack(int capacity)
Returns a new
VkQueueFamilyProperties.Buffer instance allocated on the thread-local MemoryStack. |
static VkQueueFamilyProperties.Buffer |
mallocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkQueueFamilyProperties.Buffer instance allocated on the specified MemoryStack. |
static VkQueueFamilyProperties |
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkQueueFamilyProperties instance allocated on the specified MemoryStack. |
VkExtent3D |
minImageTransferGranularity()
Returns a
VkExtent3D view of the minImageTransferGranularity field. |
static VkExtent3D |
nminImageTransferGranularity(long struct)
Unsafe version of
minImageTransferGranularity(). |
static int |
nqueueCount(long struct)
Unsafe version of
queueCount(). |
static int |
nqueueFlags(long struct)
Unsafe version of
queueFlags(). |
static int |
ntimestampValidBits(long struct)
Unsafe version of
timestampValidBits(). |
int |
queueCount()
Returns the value of the
queueCount field. |
int |
queueFlags()
Returns the value of the
queueFlags field. |
int |
sizeof() |
int |
timestampValidBits()
Returns the value of the
timestampValidBits field. |
public static final int SIZEOF
public static final int ALIGNOF
public static final int QUEUEFLAGS
public static final int QUEUECOUNT
public static final int TIMESTAMPVALIDBITS
public static final int MINIMAGETRANSFERGRANULARITY
public VkQueueFamilyProperties(java.nio.ByteBuffer container)
VkQueueFamilyProperties instance at the current position of the specified ByteBuffer 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.
public int sizeof()
sizeof in class org.lwjgl.system.Structpublic int queueFlags()
queueFlags field.public int queueCount()
queueCount field.public int timestampValidBits()
timestampValidBits field.public VkExtent3D minImageTransferGranularity()
VkExtent3D view of the minImageTransferGranularity field.public static VkQueueFamilyProperties malloc()
VkQueueFamilyProperties instance allocated with memAlloc. The instance must be explicitly freed.public static VkQueueFamilyProperties calloc()
VkQueueFamilyProperties instance allocated with memCalloc. The instance must be explicitly freed.public static VkQueueFamilyProperties create()
VkQueueFamilyProperties instance allocated with BufferUtils.public static VkQueueFamilyProperties create(long address)
VkQueueFamilyProperties instance for the specified memory address.@Nullable public static VkQueueFamilyProperties createSafe(long address)
public static VkQueueFamilyProperties.Buffer malloc(int capacity)
VkQueueFamilyProperties.Buffer instance allocated with memAlloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkQueueFamilyProperties.Buffer calloc(int capacity)
VkQueueFamilyProperties.Buffer instance allocated with memCalloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkQueueFamilyProperties.Buffer create(int capacity)
VkQueueFamilyProperties.Buffer instance allocated with BufferUtils.capacity - the buffer capacitypublic static VkQueueFamilyProperties.Buffer create(long address, int capacity)
VkQueueFamilyProperties.Buffer instance at the specified memory.address - the memory addresscapacity - the buffer capacity@Nullable public static VkQueueFamilyProperties.Buffer createSafe(long address, int capacity)
public static VkQueueFamilyProperties mallocStack()
VkQueueFamilyProperties instance allocated on the thread-local MemoryStack.public static VkQueueFamilyProperties callocStack()
VkQueueFamilyProperties instance allocated on the thread-local MemoryStack and initializes all its bits to zero.public static VkQueueFamilyProperties mallocStack(org.lwjgl.system.MemoryStack stack)
VkQueueFamilyProperties instance allocated on the specified MemoryStack.stack - the stack from which to allocatepublic static VkQueueFamilyProperties callocStack(org.lwjgl.system.MemoryStack stack)
VkQueueFamilyProperties instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatepublic static VkQueueFamilyProperties.Buffer mallocStack(int capacity)
VkQueueFamilyProperties.Buffer instance allocated on the thread-local MemoryStack.capacity - the buffer capacitypublic static VkQueueFamilyProperties.Buffer callocStack(int capacity)
VkQueueFamilyProperties.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.capacity - the buffer capacitypublic static VkQueueFamilyProperties.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkQueueFamilyProperties.Buffer instance allocated on the specified MemoryStack.stack - the stack from which to allocatecapacity - the buffer capacitypublic static VkQueueFamilyProperties.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkQueueFamilyProperties.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatecapacity - the buffer capacitypublic static int nqueueFlags(long struct)
queueFlags().public static int nqueueCount(long struct)
queueCount().public static int ntimestampValidBits(long struct)
timestampValidBits().public static VkExtent3D nminImageTransferGranularity(long struct)
minImageTransferGranularity().Copyright LWJGL. All Rights Reserved. License terms.