VK_INTEL_device_info
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 Structures
New Enum Constants
VK_INTEL_DEVICE_INFO_EXTENSION_NAMEVK_INTEL_DEVICE_INFO_SPEC_VERSION- Extending VkStructureType:
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INFO_PROPERTIES_INTEL
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;
}
Version History
- Revision 1, 2026-09-08 (Jakub Szymczyk)
- Initial draft