SPIR-V, Extended Instruction Set, and Extension Specifications

SPIR-V is a binary intermediate language for representing graphical-shader stages and compute kernels for multiple Khronos APIs, including OpenCL, OpenGL, and Vulkan. SPIR-V defines a new language and is a successor to the original Khronos SPIR, which supported only OpenCL device programs.

This registry contains or points to:

SPIR-V 1.5 Unified Specification, Headers, and Grammar

SPIR-V 1.5 was released Sep 13, 2019, and includes all previous versions. SPIR-V 1.4 was released May 7, 2019.

Extended Instruction Sets and Headers

There are separate specifications describing extended instruction sets:

SPIR-V Extension Specifications

Extension specifications are located and indexed in the Khronos GitHub project SPIRV-Registry. New extensions can be proposed as a pull request to that repository.

Vendor and Token Registry

The SPIR-V Vendor and Token Registry is an XML file serving as the canonical document defining reserved vendor IDs and binary token ranges. It is available in the Khronos GitHub project at spir-v.xml.

If you need a vendor ID, or a reserved range of opcode or operand token values for your implementation, please file an issue or pull request in the SPIRV-Headers project.

Older Specification Versions

Older specifications are superceded by the Unified Specification.

Providing Feedback on the Registry

Khronos welcomes feedback on SPIR-V. To provide feedback, please file an issue in the SPIRV-Headers project.