110 lines
4.6 KiB
Plaintext
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::../api/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[]
|
|
|