Contact
-
Jakub Szymczyk [GitHub]jakubszy
Other Extension Metadata
- Last Modified Date
-
2026-09-08
- IP Status
-
No known IP claims.
- Contributors
-
-
Jakub Szymczyk, Intel
-
Sławomir Grajewski, Intel
-
Description
This extension adds a new query to obtain the version of the graphics intellectual property (IP) block implemented by a physical device.
The IP version is reported as three separate values: an architecture
generation, a release within that generation, and a revision within that
release.
VkPhysicalDeviceProperties::deviceID identifies a device
precisely, but does not indicate which graphics IP that device implements
without a lookup table maintained by the application.
These values expose the graphics IP directly, and are ordered, so an
application can compare them in order of significance to select between code
paths tuned for a minimum graphics IP version.
A physical device which does not report an IP version reports zero for all three values, so an application should check for this case rather than treating the values as an IP version.
New Enum Constants
-
VK_INTEL_DEVICE_INFO_EXTENSION_NAME -
VK_INTEL_DEVICE_INFO_SPEC_VERSION -
Extending VkStructureType:
Examples
Query the IP version of a physical device:
VkPhysicalDeviceInfoPropertiesINTEL deviceInfoProps = {};
deviceInfoProps.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INFO_PROPERTIES_INTEL;
VkPhysicalDeviceProperties2 props2 = {};
props2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
props2.pNext = &deviceInfoProps;
vkGetPhysicalDeviceProperties2(physicalDevice, &props2);
Reported values could be used to gate certain code paths based on minimum requirements:
bool meetsMinimumIpVersion(const VkPhysicalDeviceInfoPropertiesINTEL& props,
uint32_t arch, uint32_t release, uint32_t revision)
{
if (props.deviceIpVersionArch != arch)
{
return props.deviceIpVersionArch > arch;
}
if (props.deviceIpVersionRelease != release)
{
return props.deviceIpVersionRelease > release;
}
return props.deviceIpVersionRevision >= revision;
}
Document Notes
For more information, see the Vulkan Specification.
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.