Khronos SPIR-V Registry

Khronos SPIR-V Registry

SPIR-V is a binary intermediate language for representing graphical-shader stages and compute kernels for multiple Khronos APIs, such as OpenCL, OpenGL, and Vulkan.

The registry contains:

SPIR-V is a successor to the original Khronos SPIR, which supported only OpenCL device programs, and defines a new language.

SPIR-V 1.1 Specification, Headers, and Documentation

SPIR-V 1.1, released April 18, 2016.

Extended Instruction Sets

There are separate specifications describing the extended instruction set for several Khronos APIs:

SPIR-V Extensions

  1. SPV_AMD_shader_explicit_vertex_parameter (HTML)
  2. SPV_AMD_shader_trinary_minmax (HTML)
  3. SPV_AMD_gcn_shader (HTML)
  4. SPV_KHR_shader_ballot (HTML)
  5. SPV_AMD_shader_ballot (HTML)
  6. SPV_AMD_gpu_shader_half_float (HTML)
  7. SPV_KHR_shader_draw_parameters (HTML)
  8. SPV_KHR_subgroup_vote (HTML)
  9. SPV_KHR_16bit_storage (HTML)
  10. SPV_KHR_device_group (HTML)
  11. SPV_KHR_multiview (HTML)
  12. SPV_NVX_multiview_per_view_attributes (HTML)
  13. SPV_NV_viewport_array2 (HTML)
  14. SPV_NV_stereo_view_rendering (HTML)
  15. SPV_NV_sample_mask_override_coverage (HTML)
  16. SPV_NV_geometry_shader_passthrough (HTML)

XML Registry

The SPIR-V XML Registry is the canonical document defining reserved vendor IDs and opcode ranges. It is available in the Khronos GitHub project at spir-v.xml.

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

SPIR-V 1.0 and Extended Instruction Set Headers

Providing Feedback on the Registry

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