2016-02-16 09:53:44 +00:00
|
|
|
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.
|
|
|
|
|
Change log for April 29, 2016 Vulkan 1.0.12 spec update:
* Bump API patch number and header version number to 12 for this
update.
Github Issues:
* Change valid usage statements intended to be "sub-points" to
be actual sub-points (public issue 66).
* Replace double negation in description of
slink:VkRenderPassBeginInfo::pname:pClearValues (based on public
merge 142).
* Cleanup minor typos in spec, ref pages and XML, including those
proposed in public pull requests 144, 150, 151, 167, 168, 181, and
186.
* Use *strict subset* in describing the partial order of memory
property types for slink:VkMemoryType, and update the style guide
accordingly (public issue 190).
* Fix various "a image" -> "an image" typos (public issue 191).
* Note in the <<fundamentals-validusage,Valid Usage>> and
<<extensions-interactions,Extension Interactions>> sections that
structures defined by extensions which may be passed in structure
chains using the ptext:pNext member must: include initial
ptext:sType and ptext:pNext members (public issue 192).
Internal Issues:
* Remove duplicate language from the description of the pname:fence
parameter to flink:vkQueueSubmit and improve validity language
(internal issue 91).
* Added documentation for "optional" attribute to XML readme.tex/pdf
(internal issue 149).
* Clarify the host-side data validity rules and behavior of
flink:vkFlushMappedMemoryRanges and
flink:vkInvalidateMappedMemoryRanges (internal issue 266).
Other Commits:
* Added clarification to flink:vkCmdFillBuffer regarding the use of
ename:VK_WHOLE_SIZE.
* Fixed and documented implementation of "validextensionstructs"
attribute. in XML processing scripts and readme.tex/pdf.
* Add missing validity statements to flink:vkResetEvent and
flink:vkCmdResetEvent.
* Fix validity for the
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag.
Correct all the draw/dispatch commands to mention optimally tiled
images as well as linear tiled images, and say image VIEWS instead
of images. Add validity statement to flink:vkCmdBlitImage
* Replace the {apiname} macro with hardcoded "Vulkan", now that we've
committed to that name.
* Add the VK_AMD_rasterization_order extension to vk.xml.
2016-04-29 12:53:46 +00:00
|
|
|
* If a queue's ptext:queueFlags member contains ename:VK_QUEUE_TRANSFER_BIT, then it supports transfer
|
|
|
|
operations, which include copying data and images.
|
2016-02-16 09:53:44 +00:00
|
|
|
|
|
|
|
* 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[]
|