<?xml version="1.0" encoding="UTF-8"?>
<registry>
    <!--
    Copyright (c) 2015 The Khronos Group Inc.

    Permission is hereby granted, free of charge, to any person obtaining a
    copy of this software and/or associated documentation files (the
    "Materials"), to deal in the Materials without restriction, including
    without limitation the rights to use, copy, modify, merge, publish,
    distribute, sublicense, and/or sell copies of the Materials, and to
    permit persons to whom the Materials are furnished to do so, subject to
    the following conditions:

    The above copyright notice and this permission notice shall be included
    in all copies or substantial portions of the Materials.

    THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
    -->
    <!--
    This file, spir-v.xml, is the SPIR-V Tool ID, opcode and enumerant registry.
    The canonical version of the registry, together with related schema and
    documentation, can be found in the Khronos Registry at
    include/spirv/spir-v.xml in the master branch at
    https://github.com/KhronosGroup/SPIRV-Headers
    -->

    <!-- SECTION: SPIR-V Tool ID Definitions  -->

    <!-- A SPIR-V Generator Magic Number is a 32 bit word: The high order 16
         bits are a tool ID, which should be unique across all SPIR-V
         generators. The low order 16 bits are reserved for use as a tool
         version number, or any other purpose the tool supplier chooses.
         Only the tool IDs are reserved with Khronos.

         Add new tool ID reservations contiguously with the first available
         number (the "start" attribute of the <unused> tag below), and
         modify that <unused> tag accordingly. Please add a vendor/tool
         supplier name in a 'vendor="name"' attribute; a tool name in a
         'tool="name"' attribute; and a contact person/address in a
         'comment' attribute. Remember that this value is the high 16 bits
         of a 32-bit word.

         Note: a single vendor/tool supplier may have multiple tool IDs
         reserved for different SPIR-V generators -->

    <ids type="vendor" start="0" end="0xFFFF" comment="SPIR-V Tool IDs">
        <id value="0"   vendor="Khronos"    comment="Reserved by Khronos"/>
        <id value="1"   vendor="LunarG"     comment="Contact TBD"/>
        <id value="2"   vendor="Valve"      comment="Contact TBD"/>
        <id value="3"   vendor="Codeplay"   comment="Contact Victor Lomuller, victor@codeplay.com"/>
        <id value="4"   vendor="NVIDIA"     comment="Contact Kerch Holt, kholt@nvidia.com"/>
        <id value="5"   vendor="ARM"        comment="Contact Alexander Galazin, alexander.galazin@arm.com"/>
        <id value="6"   vendor="Khronos" tool="LLVM/SPIR-V Translator" comment="Contact Yaxun (Sam) Liu, yaxun.liu@amd.com"/>
        <id value="7"   vendor="Khronos" tool="SPIR-V Tools Assembler" comment="Contact David Neto, dneto@google.com"/>
        <id value="8"   vendor="Khronos" tool="Glslang Reference Front End" comment="Contact John Kessenich, johnkessenich@google.com"/>
        <id value="9"   vendor="Qualcomm"   comment="Contact weifengz@qti.qualcomm.com"/>
        <id value="10"  vendor="AMD"        comment="Contact Daniel Rakos, daniel.rakos@amd.com"/>
        <id value="11"  vendor="Intel"      comment="Contact Alexey, alexey.bader@intel.com"/>
        <id value="12"  vendor="Imagination" comment="Contact James Jones"/>
        <id value="13"  vendor="Google" tool="Shaderc over Glslang" comment="Contact David Neto, dneto@google.com"/>
        <id value="14"  vendor="Google" tool="spiregg" comment="Contact Lei Zhang, antiagainst@google.com"/>
        <id value="15"  vendor="Google" tool="rspirv" comment="Contact Lei Zhang, antiagainst@gmail.com"/>
        <id value="16"  vendor="X-LEGEND"   tool="Mesa-IR/SPIR-V Translator" comment="Contact Metora Wang, github:metora/MesaGLSLCompiler"/>
        <id value="17"  vendor="Khronos" tool="SPIR-V Tools Linker" comment="Contact David Neto, dneto@google.com"/>
        <id value="18"  vendor="Wine" tool="VKD3D Shader Compiler" comment="Contact wine-devel@winehq.org"/>
        <id value="19"  vendor="Tellusim" tool="Clay Shader Compiler" comment="Contact info@tellusim.com"/>
        <id value="20"  vendor="W3C WebGPU Group" tool="WHLSL Shader Translator" comment="https://github.com/gpuweb/WHLSL"/>
        <id value="21"  vendor="Google" tool="Clspv" comment="Contact David Neto, dneto@google.com"/>
        <id value="22"  vendor="Google" tool="MLIR SPIR-V Serializer" comment="Contact Lei Zhang, antiagainst@google.com"/>
        <id value="23"  vendor="Google" tool="Tint Compiler" comment="Contact David Neto, dneto@google.com"/>
        <id value="24"  vendor="Google" tool="ANGLE Shader Compiler" comment="Contact Shahbaz Youssefi, syoussefi@google.com"/>
        <id value="25"  vendor="Netease Games" tool="Messiah Shader Compiler" comment="Contact Yuwen Wu, atyuwen@gmail.com"/>
        <id value="26"  vendor="Xenia" tool="Xenia Emulator Microcode Translator" comment="Contact Vitaliy Kuzmin, triang3l@yandex.ru, https://github.com/xenia-project/xenia"/>
        <id value="27"  vendor="Embark Studios" tool="Rust GPU Compiler Backend" comment="https://github.com/embarkstudios/rust-gpu"/>
        <id value="28"  vendor="gfx-rs community" tool="Naga" comment="https://github.com/gfx-rs/naga"/>
        <id value="29"  vendor="Mikkosoft Productions" tool="MSP Shader Compiler" comment="Contact Mikko Rasa, tdb@tdb.fi"/>
        <id value="30"  vendor="SpvGenTwo community" tool="SpvGenTwo SPIR-V IR Tools" comment="https://github.com/rAzoR8/SpvGenTwo"/>
        <id value="31"  vendor="Google" tool="Skia SkSL" comment="Contact Ethan Nicholas, ethannicholas@google.com"/>
        <unused start="32" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
    </ids>

    <!-- SECTION: SPIR-V Opcodes and Enumerants -->

    <!-- Vendors reserve new ranges of:
           - opcode enumerants in the "opcode" list below, and
           - non-opcode enumerants in the non-opcodes "enumerant" list below.
         Both are reserved by contiguous blocks of 64, preceding the given
         "Future use" blocks.

         SPIR-V background:
           - SPIR-V currently has well over 30 enums, including the opcode enum
           - each enum has its own name space, allowing reuse of enumerants
           - SPIR-V restricts opcode enumerants to 16 bits
           - all other enums use 32-bit enumerants

         Reservation rules:
           - opcode reservations ("opcode") are only valid for opcodes
           - non-opcode reservations ("enumerant") are not valid for opcodes
           - reservations in the enumerant list are valid for all non-opcode enums
           - it is simpler to use each non-opcode enumerant for only one purpose
             but this is left to the discretion of the vendor
           - all enumerants in a range should be used before allocating a new range
             (several extensions can use enumerants from the same range)

         Each vendor determines the use of enumerants in the ranges they
         reserve. Vendors are not required to disclose those uses.  If the use
         of an enumerant is included in an extension that is adopted by a Khronos
         extension or specification, then that enumerant's use may be permanently
         fixed as if originally reserved in a Khronos range.

         -->

    <!-- Begin reservations of opcode enumerants -->
    <ids type="opcode" start="0" end="4095" vendor="Khronos" comment="Reserved opcodes, not available to vendors - see the SPIR-V Specification"/>
    <ids type="opcode" start="4096" end="4159" vendor="Mesa" comment="Contact TBD"/>
    <ids type="opcode" start="4160" end="4415" vendor="ARM"/>
    <ids type="opcode" start="4416" end="4479" vendor="Khronos" comment="SPV_ARB_shader_ballot - contact Neil Henning, neil.henning@amd.com"/>
    <ids type="opcode" start="4480" end="4991" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
    <ids type="opcode" start="4992" end="5247" vendor="AMD"/>
    <ids type="opcode" start="5248" end="5503" vendor="NVIDIA"/>
    <ids type="opcode" start="5504" end="5567" vendor="Imagination"/>
    <ids type="opcode" start="5568" end="5631" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
    <ids type="opcode" start="5632" end="5695" vendor="Google" comment="Contact dneto@google.com"/>
    <ids type="opcode" start="5696" end="5823" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
    <ids type="opcode" start="5824" end="5951" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
    <ids type="opcode" start="5952" end="6015" vendor="Codeplay" comment="Contact victor@codeplay.com"/>
    <ids type="opcode" start="6016" end="6079" vendor="Khronos" comment="Contact @tobski"/>
    <ids type="opcode" start="6080" end="6143" vendor="Intel" comment="Contact mariusz.merecki@intel.com"/>
    <ids type="opcode" start="6144" end="6271" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
    <ids type="opcode" start="6272" end="6399" vendor="Huawei" comment="Contact wanghuilong2@xunweitech.com"/>
    <ids type="opcode" start="6400" end="6463" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
    <!-- Opcode enumerants to reserve for future use. To get a block, allocate
         multiples of 64 starting at the lowest available point in this
         block and add a corresponding <ids> tag immediately above. Make
         sure to fill in the vendor attribute, and preferably add a contact
         person/address in a comment attribute. -->
    <!-- Example new block: <ids type="opcode" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
    <ids type="opcode" start="6464" end="65535" comment="Opcode range reservable for future use by vendors"/>
    <!-- End reservations of opcodes -->


    <!-- Begin reservations of non-opcode enumerants -->
    <ids type="enumerant" start="0" end="4095" vendor="Khronos" comment="Reserved enumerants, not available to vendors - see the SPIR-V Specification"/>
    <ids type="enumerant" start="4096" end="4159" vendor="Mesa" comment="Contact TBD"/>
    <ids type="enumerant" start="4160" end="4415" vendor="ARM"/>
    <ids type="enumerant" start="4416" end="4479" vendor="Khronos" comment="SPV_ARB_shader_ballot - contact Neil Henning, neil.henning@amd.com"/>
    <ids type="enumerant" start="4480" end="4991" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
    <ids type="enumerant" start="4992" end="5247" vendor="AMD"/>
    <ids type="enumerant" start="5248" end="5503" vendor="NVIDIA"/>
    <ids type="enumerant" start="5504" end="5567" vendor="Imagination"/>
    <ids type="enumerant" start="5568" end="5631" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
    <ids type="enumerant" start="5632" end="5695" vendor="Google" comment="Contact dneto@google.com"/>
    <ids type="enumerant" start="5696" end="5823" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
    <ids type="enumerant" start="5824" end="5951" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
    <ids type="enumerant" start="5952" end="6015" vendor="Codeplay" comment="Contact victor@codeplay.com"/>
    <ids type="enumerant" start="6016" end="6079" vendor="Khronos" comment="Contact @tobski"/>
    <ids type="enumerant" start="6080" end="6143" vendor="Intel" comment="Contact mariusz.merecki@intel.com"/>
    <ids type="enumerant" start="6144" end="6271" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
    <ids type="enumerant" start="6272" end="6399" vendor="Huawei" comment="Contact wanghuilong2@xunweitech.com"/>
    <ids type="enumerant" start="6400" end="6463" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
    <!-- Enumerants to reserve for future use. To get a block, allocate
         multiples of 64 starting at the lowest available point in this
         block and add a corresponding <ids> tag immediately above. Make
         sure to fill in the vendor attribute, and preferably add a contact
         person/address in a comment attribute. -->
    <!-- Example new block: <ids type="enumerant" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
    <ids type="enumerant" start="6464" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
    <!-- End reservations of enumerants -->


    <!-- SECTION: SPIR-V Loop Control Bit Reservations -->
    <!-- Reserve ranges of bits in the loop control bitfield.

         Each vendor determines the use of values in their own ranges.
         Vendors are not required to disclose those uses.  If the use of a
         value is included in an extension that is adopted by a Khronos
         extension or specification, then that value's use may be permanently
         fixed as if originally reserved in a Khronos range.

         The SPIR Working Group strongly recommends:
         - Each value is used for only one purpose.
         - All values in a range should be used before allocating a new range.
         -->

    <!-- Reserved loop control bits -->
    <ids type="LoopControl" start="0" end="15" vendor="Khronos" comment="Reserved LoopControl bits, not available to vendors - see the SPIR-V Specification"/>
    <ids type="LoopControl" start="16" end="24" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
    <ids type="LoopControl" start="25" end="30" comment="Unreserved bits reservable for use by vendors"/>
    <ids type="LoopControl" start="31" end="31" vendor="Khronos" comment="Reserved LoopControl bit, not available to vendors"/>


    <!-- SECTION: SPIR-V Function Control Bit Reservations -->
    <!-- Reserve ranges of bits in the function control bitfield.

         Each vendor determines the use of values in their own ranges.
         Vendors are not required to disclose those uses.  If the use of a
         value is included in an extension that is adopted by a Khronos
         extension or specification, then that value's use may be permanently
         fixed as if originally reserved in a Khronos range.

         The SPIR Working Group strongly recommends:
         - Each value is used for only one purpose.
         - All values in a range should be used before allocating a new range.
         -->

    <!-- Reserved function control bits -->
    <ids type="FunctionControl" start="0" end="15" vendor="Khronos" comment="Reserved FunctionControl bits, not available to vendors - see the SPIR-V Specification"/>
    <ids type="FunctionControl" start="16" end="16" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
    <ids type="FunctionControl" start="17" end="30" comment="Unreserved bits reservable for use by vendors"/>
    <ids type="FunctionControl" start="31" end="31" vendor="Khronos" comment="Reserved FunctionControl bit, not available to vendors"/>


    <!-- SECTION: SPIR-V FP Fast Math Mode Bit Reservations -->
    <!-- Reserve ranges of bits in the "FP Fast Math Mode" bitfield.
         Each vendor determines the use of values in their own ranges.
         Vendors are not required to disclose those uses.  If the use of a
         value is included in an extension that is adopted by a Khronos
         extension or specification, then that value's use may be permanently
         fixed as if originally reserved in a Khronos range.
         The SPIR Working Group strongly recommends:
         - Each value is used for only one purpose.
         - All values in a range should be used before allocating a new range.
         -->

    <!-- Reserved FP fast math mode bits -->
    <ids type="FPFastMathMode" start="0" end="15" vendor="Khronos" comment="Reserved FPFastMathMode bits, not available to vendors - see the SPIR-V Specification"/>
    <ids type="FPFastMathMode" start="16" end="17" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
    <ids type="FPFastMathMode" start="18" end="31" comment="Unreserved bits reservable for use by vendors"/>


    <!-- SECTION: SPIR-V Memory Operand Bit Reservations -->
    <!-- Reserve ranges of bits in the memory operands bitfield.

         Each vendor determines the use of values in their own ranges.
         Vendors are not required to disclose those uses.  If the use of a
         value is included in an extension that is adopted by a Khronos
         extension or specification, then that value's use may be permanently
         fixed as if originally reserved in a Khronos range.

         The SPIR Working Group strongly recommends:
         - Each value is used for only one purpose.
         - All values in a range should be used before allocating a new range.
         -->

    <!-- Reserved memory operand bits -->
    <ids type="MemoryOperand" start="0" end="15" vendor="Khronos" comment="Reserved MemoryOperand bits, not available to vendors - see the SPIR-V Specification"/>
    <ids type="MemoryOperand" start="16" end="17" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
    <ids type="MemoryOperand" start="18" end="30" comment="Unreserved bits reservable for use by vendors"/>
    <ids type="MemoryOperand" start="31" end="31" vendor="Khronos" comment="Reserved MemoryOperand bit, not available to vendors"/>

    <!-- SECTION: SPIR-V Image Operand Bit Reservations -->
    <!-- Reserve ranges of bits in the image operands bitfield.

         Each vendor determines the use of values in their own ranges.
         Vendors are not required to disclose those uses.  If the use of a
         value is included in an extension that is adopted by a Khronos
         extension or specification, then that value's use may be permanently
         fixed as if originally reserved in a Khronos range.

         The SPIR Working Group strongly recommends:
         - Each value is used for only one purpose.
         - All values in a range should be used before allocating a new range.
         -->

    <!-- Reserved image operand bits -->
    <ids type="ImageOperand" start="0" end="15" vendor="Khronos" comment="Reserved ImageOperand bits, not available to vendors - see the SPIR-V Specification"/>
    <ids type="ImageOperand" start="16" end="16" vendor="Nvidia" comment="Contact pmistry@nvidia.com"/>
    <ids type="ImageOperand" start="17" end="30" comment="Unreserved bits reservable for use by vendors"/>
    <ids type="ImageOperand" start="31" end="31" vendor="Khronos" comment="Reserved ImageOperand bit, not available to vendors"/>

</registry>
