95 lines
4.2 KiB
Plaintext
95 lines
4.2 KiB
Plaintext
vkGetPhysicalDeviceQueueFamilyProperties(3)
|
|
===========================================
|
|
|
|
Name
|
|
----
|
|
vkGetPhysicalDeviceQueueFamilyProperties - Reports properties of the queues of the specified physical device.
|
|
|
|
C Specification
|
|
---------------
|
|
|
|
include::../protos/vkGetPhysicalDeviceQueueFamilyProperties.txt[]
|
|
|
|
Parameters
|
|
----------
|
|
|
|
pname:physicalDevice::
|
|
Physical device to query.
|
|
|
|
pname:pQueueFamilyPropertyCount::
|
|
Count indicating number of sname:VkQueueFamilyProperties pointed to by
|
|
pname:pQueueFamilyProperties.
|
|
|
|
pname:pQueueFamilyProperties::
|
|
Pointer to an array of sname:VkQueueFamilyProperties structures receiving the information about
|
|
each particular queue family.
|
|
|
|
Description
|
|
-----------
|
|
|
|
fname:vkGetPhysicalDeviceQueueFamilyProperties retrieves properties of the
|
|
queues on a physical device whose handle is given in pname:physicalDevice.
|
|
pname:pQueueFamilyPropertyCount must be set to the size of the array pointed
|
|
to by pname:pQueueFamilyProperties and thus specifies the number of queue
|
|
families to retrieve information for. The pname:pQueueFamilyProperties
|
|
parameter should point to an array of sname:VkQueueFamilyProperties
|
|
structures to be filled out with the properties of the queue families. If
|
|
pname:pQueueFamilyProperties is code:NULL then
|
|
fname:vkGetPhysicalDeviceQueueFamilyProperties will update the value pointed
|
|
by pname:pQueueFamilyPropertyCount with the number of queue families
|
|
available on the specified physical device.
|
|
|
|
The device will overwrite the entries of pname:pQueueFamilyProperties with information about the
|
|
supported queues, and will write the number of structures filled into the variable pointed to by
|
|
pname:pQueueFamilyPropertyCount. Each element of pname:pQueueFamilyProperties is an instance of the
|
|
slink:VkQueueFamilyProperties structure, the definition of which is:
|
|
|
|
include::../structs/VkQueueFamilyProperties.txt[]
|
|
|
|
The members of slink:VkQueueFamilyProperties have the following meanings:
|
|
|
|
* pname:queueFlags is a bitfield made up from members of the elink:VkQueueFlagBits enumeration indicating
|
|
capabilities of the queue. The list of capabilities is described below.
|
|
|
|
* pname:queueCount contains the number of individual queues within the specified queue family. Queues
|
|
within a single family are considered identical from a feature support perspective and are directly
|
|
compatible with one another.
|
|
|
|
* pname:timestampValidBits contains the number of valid bits that will be written to timestamp by
|
|
flink:vkCmdWriteTimestamp. Timestamps are always 64-bit unsigned integers. However, less than 64 bits
|
|
may actually be valid. Additional bits will contain zeros. If pname:timestampValidBits is zero
|
|
then the queue does not support timestamps and flink:vkCmdWriteTimestamp may not be used in command
|
|
buffers submitted to queues in this family. If pname:timestampValidBits is non-zero, it must be at
|
|
least 32, and may be as high as 64.
|
|
|
|
The valid bits that may be contained in pname:queueFlags are comprised of the members of the
|
|
elink:VkQueueFlagBits enumeration, the definition of which is:
|
|
|
|
include::../enums/VkQueueFlagBits.txt[]
|
|
|
|
* If a queue's ptext:queueFlags member contains ename:VK_QUEUE_GRAPHICS_BIT, then it supports graphics
|
|
operations such as binding graphics state and graphics pipelines and executing drawing commands.
|
|
|
|
* If a queue's ptext:queueFlags member contains ename:VK_QUEUE_COMPUTE_BIT, then it supports compute
|
|
operations such as binding compute pipelines and executing compute dispatches.
|
|
|
|
* If a queue's ptext:queueFlags member contains ename:VK_QUEUE_TRANSFER_BIT, then it supports transsfer
|
|
operations, which include copying data an images.
|
|
|
|
* If a queue's ptext:queueFlags member contains ename:VK_QUEUE_SPARSE_BINDING_BIT, then it supports
|
|
binding memory to sparse buffer and image resources.
|
|
|
|
All Vulkan implementations must expose at least one queue, each of which has at least one queue
|
|
capability bit set. Note, though, that it is possible that new sets of capabilities are exposed
|
|
by extensions or future API versions and so a queue may have none of the bits listed above
|
|
set.
|
|
|
|
include::../validity/protos/vkGetPhysicalDeviceQueueFamilyProperties.txt[]
|
|
|
|
See Also
|
|
--------
|
|
|
|
flink:vkGetPhysicalDeviceFeatures, flink:vkGetPhysicalDeviceProperties, flink:vkGetPhysicalDeviceMemoryProperties, slink:VkQueueFamilyProperties
|
|
|
|
include::footer.txt[]
|