C.8. Registering Extensions and Layers

Extensions must be registered with Khronos. Layers may be registered, and registration is strongly recommended. Registration means:

Registration for Khronos members is handled by filing a merge request in the internal gitlab repository against the branch containing the core specification against which the extension or layer will be written. The merge must modify vk.xml to define extension names, API interfaces, and related information. Registration is not complete until the registry maintainer has validated and accepted the merge.

Since this process could in principle be completely automated, this suggests a scalable mechanism for accepting registration of non-Khronos extensions. Non-Khronos members who want to create extensions must register with Khronos by creating a github account, and registering their author prefix and/or FQDNs to that account. They can then submit new extension registration requests by proposing merges to vk.xml. On acceptance of the merge, the extension will be registered, though its specification need not be checked into the Khronos github repository at that point.

The registration process can be split into several steps to accommodate extension number assignment prior to extension publication:

The automated process does not exist yet, and would require significant investment in infrastructure to support the process on the Khronos servers.


TODO: This section is subject to change and not complete yet, but in broad is how we expect extension registration and specifications to work. The process will be refined as members and outside authors define further extensions.