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.2 Specification, Headers, and Documentation

SPIR-V 1.2, released May 15, 2017.

SPIR-V 1.1 Specification, Headers, and Documentation

SPIR-V 1.1, released April 18, 2016.

SPIR-V 1.0 and Extended Instruction Set Headers

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)
  17. SPV_AMD_texture_gather_bias_lod (HTML)
  18. SPV_KHR_storage_buffer_storage_class (HTML)
  19. SPV_KHR_variable_pointers (HTML)
  20. SPV_AMD_gpu_shader_int16 (HTML)
  21. SPV_KHR_post_depth_coverage (HTML)
  22. SPV_KHR_shader_atomic_counter_ops (HTML)
  23. SPV_EXT_shader_stencil_export (HTML)
  24. SPV_EXT_shader_viewport_index_layer (HTML)
  25. SPV_AMD_shader_image_load_store_lod (HTML)
  26. SPV_AMD_shader_fragment_mask (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.

Providing Feedback on the Registry

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