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_NAME
  • VK_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