Class VkQueueFamilyProperties
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkQueueFamilyProperties
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,org.lwjgl.system.NativeResource
,org.lwjgl.system.Pointer
public class VkQueueFamilyProperties extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResource
Structure providing information about a queue family.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)
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:- The
x
,y
, andz
members of aVkOffset3D
parameter must always be zero. - The
width
,height
, anddepth
members of aVkExtent3D
parameter must always match the width, height, and depth of the image subresource corresponding to the parameter, respectively.
- The
(Ax, Ay, Az)
whereAx
,Ay
, andAz
are all integer powers of two. In this case the following restrictions apply to all image transfer operations:x
,y
, andz
of aVkOffset3D
parameter must be integer multiples ofAx
,Ay
, andAz
, respectively.width
of aVkExtent3D
parameter must be an integer multiple ofAx
, or elsex + width
must equal the width of the image subresource corresponding to the parameter.height
of aVkExtent3D
parameter must be an integer multiple ofAy
, or elsey + height
must equal the height of the image subresource corresponding to the parameter.depth
of aVkExtent3D
parameter must be an integer multiple ofAz
, or elsez + depth
must 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)
inminImageTransferGranularity
, 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, thusminImageTransferGranularity
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
Member documentation
queueFlags
– a bitmask ofVkQueueFlagBits
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 viavkCmdWriteTimestamp
. 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.
Layout
struct VkQueueFamilyProperties { VkQueueFlags queueFlags; uint32_t queueCount; uint32_t timestampValidBits;
VkExtent3D
minImageTransferGranularity; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VkQueueFamilyProperties.Buffer
An array ofVkQueueFamilyProperties
structs.
-
Field Summary
Fields Modifier and Type Field Description static int
ALIGNOF
The struct alignment in bytes.static int
MINIMAGETRANSFERGRANULARITY
QUEUECOUNT
QUEUEFLAGSThe struct member offsets.static int
SIZEOF
The struct size in bytes.static int
TIMESTAMPVALIDBITS
The struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkQueueFamilyProperties(java.nio.ByteBuffer container)
Creates aVkQueueFamilyProperties
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 VkQueueFamilyProperties
calloc()
Returns a newVkQueueFamilyProperties
instance allocated withmemCalloc
.static VkQueueFamilyProperties.Buffer
calloc(int capacity)
Returns a newVkQueueFamilyProperties.Buffer
instance allocated withmemCalloc
.static VkQueueFamilyProperties
callocStack()
Returns a newVkQueueFamilyProperties
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkQueueFamilyProperties.Buffer
callocStack(int capacity)
Returns a newVkQueueFamilyProperties.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkQueueFamilyProperties.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkQueueFamilyProperties.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkQueueFamilyProperties
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkQueueFamilyProperties
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkQueueFamilyProperties
create()
Returns a newVkQueueFamilyProperties
instance allocated withBufferUtils
.static VkQueueFamilyProperties.Buffer
create(int capacity)
Returns a newVkQueueFamilyProperties.Buffer
instance allocated withBufferUtils
.static VkQueueFamilyProperties
create(long address)
Returns a newVkQueueFamilyProperties
instance for the specified memory address.static VkQueueFamilyProperties.Buffer
create(long address, int capacity)
Create aVkQueueFamilyProperties.Buffer
instance at the specified memory.static VkQueueFamilyProperties
createSafe(long address)
static VkQueueFamilyProperties.Buffer
createSafe(long address, int capacity)
static VkQueueFamilyProperties
malloc()
Returns a newVkQueueFamilyProperties
instance allocated withmemAlloc
.static VkQueueFamilyProperties.Buffer
malloc(int capacity)
Returns a newVkQueueFamilyProperties.Buffer
instance allocated withmemAlloc
.static VkQueueFamilyProperties
mallocStack()
Returns a newVkQueueFamilyProperties
instance allocated on the thread-localMemoryStack
.static VkQueueFamilyProperties.Buffer
mallocStack(int capacity)
Returns a newVkQueueFamilyProperties.Buffer
instance allocated on the thread-localMemoryStack
.static VkQueueFamilyProperties.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkQueueFamilyProperties.Buffer
instance allocated on the specifiedMemoryStack
.static VkQueueFamilyProperties
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkQueueFamilyProperties
instance allocated on the specifiedMemoryStack
.VkExtent3D
minImageTransferGranularity()
Returns aVkExtent3D
view of theminImageTransferGranularity
field.static VkExtent3D
nminImageTransferGranularity(long struct)
Unsafe version ofminImageTransferGranularity()
.static int
nqueueCount(long struct)
Unsafe version ofqueueCount()
.static int
nqueueFlags(long struct)
Unsafe version ofqueueFlags()
.static int
ntimestampValidBits(long struct)
Unsafe version oftimestampValidBits()
.int
queueCount()
Returns the value of thequeueCount
field.int
queueFlags()
Returns the value of thequeueFlags
field.int
sizeof()
int
timestampValidBits()
Returns the value of thetimestampValidBits
field.
-
-
-
Constructor Detail
-
VkQueueFamilyProperties
public VkQueueFamilyProperties(java.nio.ByteBuffer container)
Creates aVkQueueFamilyProperties
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
-
queueFlags
public int queueFlags()
Returns the value of thequeueFlags
field.
-
queueCount
public int queueCount()
Returns the value of thequeueCount
field.
-
timestampValidBits
public int timestampValidBits()
Returns the value of thetimestampValidBits
field.
-
minImageTransferGranularity
public VkExtent3D minImageTransferGranularity()
Returns aVkExtent3D
view of theminImageTransferGranularity
field.
-
malloc
public static VkQueueFamilyProperties malloc()
Returns a newVkQueueFamilyProperties
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static VkQueueFamilyProperties calloc()
Returns a newVkQueueFamilyProperties
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static VkQueueFamilyProperties create()
Returns a newVkQueueFamilyProperties
instance allocated withBufferUtils
.
-
create
public static VkQueueFamilyProperties create(long address)
Returns a newVkQueueFamilyProperties
instance for the specified memory address.
-
createSafe
@Nullable public static VkQueueFamilyProperties createSafe(long address)
-
malloc
public static VkQueueFamilyProperties.Buffer malloc(int capacity)
Returns a newVkQueueFamilyProperties.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static VkQueueFamilyProperties.Buffer calloc(int capacity)
Returns a newVkQueueFamilyProperties.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static VkQueueFamilyProperties.Buffer create(int capacity)
Returns a newVkQueueFamilyProperties.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkQueueFamilyProperties.Buffer create(long address, int capacity)
Create aVkQueueFamilyProperties.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static VkQueueFamilyProperties.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkQueueFamilyProperties mallocStack()
Returns a newVkQueueFamilyProperties
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static VkQueueFamilyProperties callocStack()
Returns a newVkQueueFamilyProperties
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static VkQueueFamilyProperties mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkQueueFamilyProperties
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkQueueFamilyProperties callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkQueueFamilyProperties
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
mallocStack
public static VkQueueFamilyProperties.Buffer mallocStack(int capacity)
Returns a newVkQueueFamilyProperties.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static VkQueueFamilyProperties.Buffer callocStack(int capacity)
Returns a newVkQueueFamilyProperties.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static VkQueueFamilyProperties.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkQueueFamilyProperties.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
callocStack
public static VkQueueFamilyProperties.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkQueueFamilyProperties.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
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
public static VkExtent3D nminImageTransferGranularity(long struct)
Unsafe version ofminImageTransferGranularity()
.
-
-