Vulkan-Docs/doc/specs/vulkan/man/VkPhysicalDeviceProperties.txt

110 lines
4.6 KiB
Plaintext

// Copyright (c) 2014-2016 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
VkPhysicalDeviceProperties(3)
=============================
Name
----
VkPhysicalDeviceProperties - Structure specifying physical device properties
C Specification
---------------
// refBegin VkPhysicalDeviceProperties - Structure specifying physical device properties
The sname:VkPhysicalDeviceProperties structure is defined as:
include::../structs/VkPhysicalDeviceProperties.txt[]
Members
-------
* pname:apiVersion is the version of Vulkan supported by the device,
encoded as described in the <<fundamentals-versionnum,API Version
Numbers and Semantics>> section.
* pname:driverVersion is the vendor-specified version of the driver.
* pname:vendorID is a unique identifier for the _vendor_ (see below) of
the physical device.
* pname:deviceID is a unique identifier for the physical device among
devices available from the vendor.
* pname:deviceType is a elink:VkPhysicalDeviceType specifying the type of
device.
* pname:deviceName is a null-terminated UTF-8 string containing the name
of the device.
* pname:pipelineCacheUUID is an array of size ename:VK_UUID_SIZE,
containing 8-bit values that represent a universally unique identifier
for the device.
* pname:limits is the slink:VkPhysicalDeviceLimits structure which
specifies device-specific limits of the physical device. See
<<features-limits,Limits>> for details.
* pname:sparseProperties is the slink:VkPhysicalDeviceSparseProperties
structure which specifies various sparse related properties of the
physical device. See <<sparsememory-physicalprops,Sparse Properties>>
for details.
Description
-----------
The pname:vendorID and pname:deviceID fields are provided to allow
applications to adapt to device characteristics that are not
adequately exposed by other Vulkan queries. These may: include
performance profiles, hardware errata, or other characteristics.
In PCI-based implementations, the low sixteen bits of pname:vendorID
and pname:deviceID must: contain (respectively) the PCI vendor and
device IDs associated with the hardware device, and the remaining bits
must: be set to zero. In non-PCI implementations, the choice of what values
to return may: be dictated by operating system or platform policies. It is
otherwise at the discretion of the implementer, subject to the following
constraints and guidelines:
* For purposes of physical device identification, the _vendor_ of a
physical device is the entity responsible for the most salient
characteristics of the hardware represented by the physical device
handle. In the case of a discrete GPU, this should: be the GPU
chipset vendor. In the case of a GPU or other accelerator integrated
into a system-on-chip (SoC), this should: be the supplier of the
silicon IP used to create the GPU or other accelerator.
* If the vendor of the physical device has a valid PCI vendor ID issued by
https://pcisig.com/[PCI-SIG], that ID should: be used to construct
pname:vendorID as described above for PCI-based
implementations. Implementations that do not return a PCI vendor ID in
pname:vendorID must: return a valid Khronos vendor ID, obtained as
described in the <<vulkan-styleguide,Vulkan Documentation and Extensions>>
document in the section ``Registering a Vendor ID
with Khronos''. Khronos vendor IDs are allocated starting at 0x10000,
to distinguish them from the PCI vendor ID namespace.
* The vendor of the physical device is responsible for selecting
pname:deviceID. The value selected should: uniquely
identify both the device version and any major configuration options
(for example, core count in the case of multicore devices). The same
device ID should: be used for all physical implementations of that
device version and configuration. For example, all uses of a
specific silicon IP GPU version and configuration should use the
same device ID, even if those uses occur in different SoCs.
include::../validity/structs/VkPhysicalDeviceProperties.txt[]
See Also
--------
slink:VkPhysicalDeviceLimits, slink:VkPhysicalDeviceSparseProperties, elink:VkPhysicalDeviceType, flink:vkGetPhysicalDeviceProperties
Document Notes
--------------
For more information, see the Vulkan Specification at URL
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#VkPhysicalDeviceProperties
This page is extracted from the Vulkan Specification.
Fixes and changes should be made to the Specification,not directly.
include::footer.txt[]