Class VkQueueFamilyProperties
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
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)specifies 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:- The
x,y, andzmembers of aVkOffset3Dparameter must always be zero. - The
width,height, anddepthmembers of aVkExtent3Dparameter must always match the width, height, and depth of the image subresource corresponding to the parameter, respectively.
- The
(Ax, Ay, Az)whereAx,Ay, andAzare all integer powers of two. In this case the following restrictions apply to all image transfer operations:x,y, andzof aVkOffset3Dparameter must be integer multiples ofAx,Ay, andAz, respectively.widthof aVkExtent3Dparameter must be an integer multiple ofAx, or elsex + widthmust equal the width of the image subresource corresponding to the parameter.heightof aVkExtent3Dparameter must be an integer multiple ofAy, or elsey + heightmust equal the height of the image subresource corresponding to the parameter.depthof aVkExtent3Dparameter must be an integer multiple ofAz, or elsez + depthmust equal the depth of the image subresource corresponding to the parameter.- If the format of the image corresponding to the parameters is one of the block-compressed formats then for the purposes of the above calculations the granularity must be scaled up by the compressed texel block dimensions.
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.
See Also
VkExtent3D, VkQueueFamilyProperties2, GetPhysicalDeviceQueueFamilyProperties
Layout
struct VkQueueFamilyProperties {
VkQueueFlags queueFlags();
uint32_t queueCount();
uint32_t timestampValidBits();
VkExtent3D minImageTransferGranularity();
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkQueueFamilyProperties(ByteBuffer container) Creates aVkQueueFamilyPropertiesinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkQueueFamilyPropertiescalloc()Returns a newVkQueueFamilyPropertiesinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkQueueFamilyProperties.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkQueueFamilyProperties.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkQueueFamilyPropertiescalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkQueueFamilyPropertiesinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkQueueFamilyPropertiesDeprecated.callocStack(int capacity) Deprecated.callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkQueueFamilyPropertiescallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static VkQueueFamilyPropertiescreate()Returns a newVkQueueFamilyPropertiesinstance allocated withBufferUtils.create(int capacity) Returns a newVkQueueFamilyProperties.Bufferinstance allocated withBufferUtils.static VkQueueFamilyPropertiescreate(long address) Returns a newVkQueueFamilyPropertiesinstance for the specified memory address.create(long address, int capacity) Create aVkQueueFamilyProperties.Bufferinstance at the specified memory.static @Nullable VkQueueFamilyPropertiescreateSafe(long address) static @Nullable VkQueueFamilyProperties.BuffercreateSafe(long address, int capacity) static VkQueueFamilyPropertiesmalloc()Returns a newVkQueueFamilyPropertiesinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkQueueFamilyProperties.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkQueueFamilyProperties.Bufferinstance allocated on the specifiedMemoryStack.static VkQueueFamilyPropertiesmalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkQueueFamilyPropertiesinstance allocated on the specifiedMemoryStack.static VkQueueFamilyPropertiesDeprecated.mallocStack(int capacity) Deprecated.mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkQueueFamilyPropertiesmallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.the minimum granularity supported for image transfer operations on the queues in this queue family.static VkExtent3DnminImageTransferGranularity(long struct) Unsafe version ofminImageTransferGranularity().static intnqueueCount(long struct) Unsafe version ofqueueCount().static intnqueueFlags(long struct) Unsafe version ofqueueFlags().static intntimestampValidBits(long struct) Unsafe version oftimestampValidBits().intthe unsigned integer count of queues in this queue family.inta bitmask ofVkQueueFlagBitsindicating capabilities of the queues in this queue family.intsizeof()intthe unsigned integer count of meaningful bits in the timestamps written viaCmdWriteTimestamp2orCmdWriteTimestamp.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
QUEUEFLAGS
public static final int QUEUEFLAGSThe struct member offsets. -
QUEUECOUNT
public static final int QUEUECOUNTThe struct member offsets. -
TIMESTAMPVALIDBITS
public static final int TIMESTAMPVALIDBITSThe struct member offsets. -
MINIMAGETRANSFERGRANULARITY
public static final int MINIMAGETRANSFERGRANULARITYThe struct member offsets.
-
-
Constructor Details
-
VkQueueFamilyProperties
Creates aVkQueueFamilyPropertiesinstance 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 Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkQueueFamilyProperties>
-
queueFlags
public int queueFlags()a bitmask ofVkQueueFlagBitsindicating capabilities of the queues in this queue family. -
queueCount
public int queueCount()the unsigned integer count of queues in this queue family. Each queue family must support at least one queue. -
timestampValidBits
public int timestampValidBits()the unsigned integer count of meaningful bits in the timestamps written viaCmdWriteTimestamp2orCmdWriteTimestamp. The valid range for the count is 36 to 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. -
malloc
Returns a newVkQueueFamilyPropertiesinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkQueueFamilyPropertiesinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkQueueFamilyPropertiesinstance allocated withBufferUtils. -
create
Returns a newVkQueueFamilyPropertiesinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkQueueFamilyProperties.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkQueueFamilyProperties.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkQueueFamilyProperties.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkQueueFamilyProperties.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
mallocStack
@Deprecated public static VkQueueFamilyProperties.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
@Deprecated public static VkQueueFamilyProperties.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
Returns a newVkQueueFamilyPropertiesinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkQueueFamilyPropertiesinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkQueueFamilyProperties.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkQueueFamilyProperties.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkQueueFamilyProperties.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkQueueFamilyProperties.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nqueueFlags
public static int nqueueFlags(long struct) Unsafe version ofqueueFlags(). -
nqueueCount
public static int nqueueCount(long struct) Unsafe version ofqueueCount(). -
ntimestampValidBits
public static int ntimestampValidBits(long struct) Unsafe version oftimestampValidBits(). -
nminImageTransferGranularity
Unsafe version ofminImageTransferGranularity().
-