## C.11. Required Extension Tokens

In addition to any tokens specific to the functionality of an extension, all extensions must define two additional tokens.

• VK_EXTNAME_SPEC_VERSION is an integer constant which is the revision of the extension named VK_extname (EXTNAME is all upper-case, while extname is the capitalization of the actual extension name) in vulkan.h. This value begins at 1 with the initial version of an extension specification, and is incremented when significant changes (bugfixes or added functionality) are made. Note that the revision of an extension defined in vulkan.h and the revision supported by the Vulkan implementation (the specVersion field of the VkExtensionProperties structure corresponding to the extension and returned by one of the extension queries) may differ. In such cases, only the functionality and behavior of the lowest-numbered revision can be used.
• VK_EXTNAME_EXTENSION_NAME is a string constant which is the name of the extension.

For example, for the WSI extension VK_KHR_surface, at the time of writing the following definitions were in effect:

#define VK_KHR_SURFACE_SPEC_VERSION 24
#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"