vkGetPhysicalDeviceProperties(3) ================================ Name ---- vkGetPhysicalDeviceProperties - Returns properties of a physical device. C Specification --------------- include::../protos/vkGetPhysicalDeviceProperties.txt[] Parameters ---------- pname:physicalDevice:: A handle to the physical device. pname:pProperties:: A pointer to a structure that will be written with the device properties. Description ----------- fname:vkGetPhysicalDeviceProperties returns the properties of the physical device specified in pname:physicalDevice in the structure pointed to by pname:pProperties. pname:pProperties points to an instance of the slink:VkPhysicalDeviceProperties structure, the definition of which is: include::../structs/VkPhysicalDeviceProperties.txt[] The data returned in the pname:pProperties structure contains information about the physical device and the driver associated with it. The pname:apiVersion member of slink:VkPhysicalDeviceProperties indicates the API version supported by the physical device. Minor revisions of the API are backward compatible whereas major versions of the API may break compatibility. The API version is represented as a 32-bit field where bits 31 - 22 represent the major version, bits 21 - 12 represent the minor version, and bits 11 - 0 represent the patch version. The pname:driverVersion member represents the vendor-specific version of the driver used to enable the device. The pname:vendorID and pname:deviceID members contain the PCI vendor and device identifiers, respectively. Note that if the device is not physcially a PCI-compliant device, then the values of pname:vendorID and pname:deviceID are platform dependent and may not be values assigned by the PCI-SIG. The pname:deviceType member indicates the type of device represented by pname:physicalDevice. pname:deviceType is a member of the elink:VkPhysicalDeviceType enumeration, the definition of which is: include::../enums/VkPhysicalDeviceType.txt[] When pname:deviceType is ename:VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU, then the device is typically one embedded in or tightly coupled with the host CPU that is running the application. When pname:deviceType is ename:VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU, then the device is typically a separate physical device connected to the host CPU via a slower interlink such as PCI-Express. If pname:deviceType is ename:VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU, then the device is potentially emulated (such a stub device or debugger endpoint), a virtual node in a virtualization environment or otherwise does not fit either category. If the device is running entirely on the CPU, then pname:deviceType will be ename:VK_PHYSICAL_DEVICE_TYPE_CPU. If the device type is unknown or does not fit any of these types, then pname:deviceType may be ename:VK_PHYSICAL_DEVICE_TYPE_OTHER. The pname:deviceName member of pname:pProperties contains a vendor-supplied human-readable name for the device encoded as a UTF-8 string which is up to ename:VK_MAX_PHYSICAL_DEVICE_NAME_SIZE characters long, including a null-terminator. pname:pipelineCacheUUID is an array, of size ename:VK_UUID_SIZE, containing 8-bit values that represent a universally unique signature that identifies the hardware and driver combination. pname:limits is an instance of the slink:VkPhysicalDeviceLimits structure which contains limits on the functionality provided by the device. The definition of slink:VkPhysicalDeviceLimits is: include::../structs/VkPhysicalDeviceLimits.txt[] include::../validity/protos/vkGetPhysicalDeviceProperties.txt[] See Also -------- flink:vkGetPhysicalDeviceFeatures, flink:vkGetPhysicalDeviceProperties include::footer.txt[]