1b2a28edaSopenharmony_ci<?xml version="1.0" encoding="UTF-8"?>
2b2a28edaSopenharmony_ci<registry>
3b2a28edaSopenharmony_ci    <!--
4b2a28edaSopenharmony_ci    Copyright (c) 2015 The Khronos Group Inc.
5b2a28edaSopenharmony_ci
6b2a28edaSopenharmony_ci    Permission is hereby granted, free of charge, to any person obtaining a
7b2a28edaSopenharmony_ci    copy of this software and/or associated documentation files (the
8b2a28edaSopenharmony_ci    "Materials"), to deal in the Materials without restriction, including
9b2a28edaSopenharmony_ci    without limitation the rights to use, copy, modify, merge, publish,
10b2a28edaSopenharmony_ci    distribute, sublicense, and/or sell copies of the Materials, and to
11b2a28edaSopenharmony_ci    permit persons to whom the Materials are furnished to do so, subject to
12b2a28edaSopenharmony_ci    the following conditions:
13b2a28edaSopenharmony_ci
14b2a28edaSopenharmony_ci    The above copyright notice and this permission notice shall be included
15b2a28edaSopenharmony_ci    in all copies or substantial portions of the Materials.
16b2a28edaSopenharmony_ci
17b2a28edaSopenharmony_ci    THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18b2a28edaSopenharmony_ci    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19b2a28edaSopenharmony_ci    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20b2a28edaSopenharmony_ci    IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21b2a28edaSopenharmony_ci    CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22b2a28edaSopenharmony_ci    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23b2a28edaSopenharmony_ci    MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
24b2a28edaSopenharmony_ci    -->
25b2a28edaSopenharmony_ci    <!--
26b2a28edaSopenharmony_ci    This file, spir-v.xml, is the SPIR-V Tool ID, opcode and enumerant registry.
27b2a28edaSopenharmony_ci    The canonical version of the registry, together with related schema and
28b2a28edaSopenharmony_ci    documentation, can be found in the Khronos Registry at
29b2a28edaSopenharmony_ci    include/spirv/spir-v.xml in the master branch at
30b2a28edaSopenharmony_ci    https://github.com/KhronosGroup/SPIRV-Headers
31b2a28edaSopenharmony_ci    -->
32b2a28edaSopenharmony_ci
33b2a28edaSopenharmony_ci    <!-- SECTION: SPIR-V Tool ID Definitions  -->
34b2a28edaSopenharmony_ci
35b2a28edaSopenharmony_ci    <!-- A SPIR-V Generator Magic Number is a 32 bit word: The high order 16
36b2a28edaSopenharmony_ci         bits are a tool ID, which should be unique across all SPIR-V
37b2a28edaSopenharmony_ci         generators. The low order 16 bits are reserved for use as a tool
38b2a28edaSopenharmony_ci         version number, or any other purpose the tool supplier chooses.
39b2a28edaSopenharmony_ci         Only the tool IDs are reserved with Khronos.
40b2a28edaSopenharmony_ci
41b2a28edaSopenharmony_ci         Add new tool ID reservations contiguously with the first available
42b2a28edaSopenharmony_ci         number (the "start" attribute of the <unused> tag below), and
43b2a28edaSopenharmony_ci         modify that <unused> tag accordingly. Please add a vendor/tool
44b2a28edaSopenharmony_ci         supplier name in a 'vendor="name"' attribute; a tool name in a
45b2a28edaSopenharmony_ci         'tool="name"' attribute; and a contact person/address in a
46b2a28edaSopenharmony_ci         'comment' attribute. Remember that this value is the high 16 bits
47b2a28edaSopenharmony_ci         of a 32-bit word.
48b2a28edaSopenharmony_ci
49b2a28edaSopenharmony_ci         Note: a single vendor/tool supplier may have multiple tool IDs
50b2a28edaSopenharmony_ci         reserved for different SPIR-V generators -->
51b2a28edaSopenharmony_ci
52b2a28edaSopenharmony_ci    <ids type="vendor" start="0" end="0xFFFF" comment="SPIR-V Tool IDs">
53b2a28edaSopenharmony_ci        <id value="0"   vendor="Khronos"    comment="Reserved by Khronos"/>
54b2a28edaSopenharmony_ci        <id value="1"   vendor="LunarG"     comment="Contact TBD"/>
55b2a28edaSopenharmony_ci        <id value="2"   vendor="Valve"      comment="Contact TBD"/>
56b2a28edaSopenharmony_ci        <id value="3"   vendor="Codeplay"   comment="Contact Victor Lomuller, victor@codeplay.com"/>
57b2a28edaSopenharmony_ci        <id value="4"   vendor="NVIDIA"     comment="Contact Kerch Holt, kholt@nvidia.com"/>
58b2a28edaSopenharmony_ci        <id value="5"   vendor="ARM"        comment="Contact Kevin Petit, kevin.petit@arm.com"/>
59b2a28edaSopenharmony_ci        <id value="6"   vendor="Khronos" tool="LLVM/SPIR-V Translator" comment="Contact Yaxun (Sam) Liu, yaxun.liu@amd.com"/>
60b2a28edaSopenharmony_ci        <id value="7"   vendor="Khronos" tool="SPIR-V Tools Assembler" comment="Contact David Neto, dneto@google.com"/>
61b2a28edaSopenharmony_ci        <id value="8"   vendor="Khronos" tool="Glslang Reference Front End" comment="Contact John Kessenich, johnkessenich@google.com"/>
62b2a28edaSopenharmony_ci        <id value="9"   vendor="Qualcomm"   comment="Contact weifengz@qti.qualcomm.com"/>
63b2a28edaSopenharmony_ci        <id value="10"  vendor="AMD"        comment="Contact Daniel Rakos, daniel.rakos@amd.com"/>
64b2a28edaSopenharmony_ci        <id value="11"  vendor="Intel"      comment="Contact Alexey, alexey.bader@intel.com"/>
65b2a28edaSopenharmony_ci        <id value="12"  vendor="Imagination" comment="Contact Stephen Clarke, stephen.clarke@imgtec.com"/>
66b2a28edaSopenharmony_ci        <id value="13"  vendor="Google" tool="Shaderc over Glslang" comment="Contact David Neto, dneto@google.com"/>
67b2a28edaSopenharmony_ci        <id value="14"  vendor="Google" tool="spiregg" comment="Contact Lei Zhang, antiagainst@google.com"/>
68b2a28edaSopenharmony_ci        <id value="15"  vendor="Google" tool="rspirv" comment="Contact Lei Zhang, antiagainst@gmail.com"/>
69b2a28edaSopenharmony_ci        <id value="16"  vendor="X-LEGEND"   tool="Mesa-IR/SPIR-V Translator" comment="Contact Metora Wang, github:metora/MesaGLSLCompiler"/>
70b2a28edaSopenharmony_ci        <id value="17"  vendor="Khronos" tool="SPIR-V Tools Linker" comment="Contact David Neto, dneto@google.com"/>
71b2a28edaSopenharmony_ci        <id value="18"  vendor="Wine" tool="VKD3D Shader Compiler" comment="Contact wine-devel@winehq.org"/>
72b2a28edaSopenharmony_ci        <id value="19"  vendor="Tellusim" tool="Clay Shader Compiler" comment="Contact info@tellusim.com"/>
73b2a28edaSopenharmony_ci        <id value="20"  vendor="W3C WebGPU Group" tool="WHLSL Shader Translator" comment="https://github.com/gpuweb/WHLSL"/>
74b2a28edaSopenharmony_ci        <id value="21"  vendor="Google" tool="Clspv" comment="Contact David Neto, dneto@google.com"/>
75b2a28edaSopenharmony_ci        <id value="22"  vendor="Google" tool="MLIR SPIR-V Serializer" comment="Contact Lei Zhang, antiagainst@google.com"/>
76b2a28edaSopenharmony_ci        <id value="23"  vendor="Google" tool="Tint Compiler" comment="Contact David Neto, dneto@google.com"/>
77b2a28edaSopenharmony_ci        <id value="24"  vendor="Google" tool="ANGLE Shader Compiler" comment="Contact Shahbaz Youssefi, syoussefi@google.com"/>
78b2a28edaSopenharmony_ci        <id value="25"  vendor="Netease Games" tool="Messiah Shader Compiler" comment="Contact Yuwen Wu, atyuwen@gmail.com"/>
79b2a28edaSopenharmony_ci        <id value="26"  vendor="Xenia" tool="Xenia Emulator Microcode Translator" comment="Contact Vitaliy Kuzmin, triang3l@yandex.ru, https://github.com/xenia-project/xenia"/>
80b2a28edaSopenharmony_ci        <id value="27"  vendor="Embark Studios" tool="Rust GPU Compiler Backend" comment="https://github.com/embarkstudios/rust-gpu"/>
81b2a28edaSopenharmony_ci        <id value="28"  vendor="gfx-rs community" tool="Naga" comment="https://github.com/gfx-rs/naga"/>
82b2a28edaSopenharmony_ci        <id value="29"  vendor="Mikkosoft Productions" tool="MSP Shader Compiler" comment="Contact Mikko Rasa, tdb@tdb.fi"/>
83b2a28edaSopenharmony_ci        <id value="30"  vendor="SpvGenTwo community" tool="SpvGenTwo SPIR-V IR Tools" comment="https://github.com/rAzoR8/SpvGenTwo"/>
84b2a28edaSopenharmony_ci        <id value="31"  vendor="Google" tool="Skia SkSL" comment="Contact Ethan Nicholas, ethannicholas@google.com"/>
85b2a28edaSopenharmony_ci        <id value="32"  vendor="TornadoVM" tool="Beehive SPIRV Toolkit" comment="https://github.com/beehive-lab/beehive-spirv-toolkit"/>
86b2a28edaSopenharmony_ci        <id value="33"  vendor="DragonJoker" tool="ShaderWriter" comment="Contact Sylvain Doremus, https://github.com/DragonJoker/ShaderWriter"/>
87b2a28edaSopenharmony_ci        <id value="34"  vendor="Rayan Hatout" tool="SPIRVSmith" comment="Contact Rayan Hatout rayan.hatout@gmail.com, Repo https://github.com/rayanht/SPIRVSmith"/>
88b2a28edaSopenharmony_ci        <id value="35"  vendor="Saarland University" tool="Shady" comment="Contact Hugo Devillers devillers@uni-saarland.de, Repo https://github.com/Hugobros3/shady"/>
89b2a28edaSopenharmony_ci        <id value="36"  vendor="Taichi Graphics" tool="Taichi" comment="Contact Rendong Liang rendongliang@taichi.graphics, Repo https://github.com/taichi-dev/taichi"/>
90b2a28edaSopenharmony_ci        <id value="37"  vendor="heroseh" tool="Hero C Compiler" comment="https://github.com/heroseh/hcc"/>
91b2a28edaSopenharmony_ci        <id value="38"  vendor="Meta" tool="SparkSL" comment="Contact Dunfan Lu, dunfanlu@meta.com, https://sparkar.facebook.com/ar-studio/learn/sparksl/sparksl-overview"/>
92b2a28edaSopenharmony_ci        <id value="39"  vendor="SirLynix" tool="Nazara ShaderLang Compiler" comment="Contact Jérôme Leclercq, https://github.com/NazaraEngine/ShaderLang"/>
93b2a28edaSopenharmony_ci        <id value="40"  vendor="NVIDIA" tool="Slang Compiler" comment="Contact Theresa Foley, tfoley@nvidia.com, https://github.com/shader-slang/slang/"/>
94b2a28edaSopenharmony_ci        <unused start="41" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
95b2a28edaSopenharmony_ci    </ids>
96b2a28edaSopenharmony_ci
97b2a28edaSopenharmony_ci    <!-- SECTION: SPIR-V Opcodes and Enumerants -->
98b2a28edaSopenharmony_ci
99b2a28edaSopenharmony_ci    <!-- Vendors reserve new ranges of:
100b2a28edaSopenharmony_ci           - opcode enumerants in the "opcode" list below, and
101b2a28edaSopenharmony_ci           - non-opcode enumerants in the non-opcodes "enumerant" list below.
102b2a28edaSopenharmony_ci         Both are reserved by contiguous blocks of 64, preceding the given
103b2a28edaSopenharmony_ci         "Future use" blocks.
104b2a28edaSopenharmony_ci
105b2a28edaSopenharmony_ci         SPIR-V background:
106b2a28edaSopenharmony_ci           - SPIR-V currently has well over 30 enums, including the opcode enum
107b2a28edaSopenharmony_ci           - each enum has its own name space, allowing reuse of enumerants
108b2a28edaSopenharmony_ci           - SPIR-V restricts opcode enumerants to 16 bits
109b2a28edaSopenharmony_ci           - all other enums use 32-bit enumerants
110b2a28edaSopenharmony_ci
111b2a28edaSopenharmony_ci         Reservation rules:
112b2a28edaSopenharmony_ci           - opcode reservations ("opcode") are only valid for opcodes
113b2a28edaSopenharmony_ci           - non-opcode reservations ("enumerant") are not valid for opcodes
114b2a28edaSopenharmony_ci           - reservations in the enumerant list are valid for all non-opcode enums
115b2a28edaSopenharmony_ci           - it is simpler to use each non-opcode enumerant for only one purpose
116b2a28edaSopenharmony_ci             but this is left to the discretion of the vendor
117b2a28edaSopenharmony_ci           - all enumerants in a range should be used before allocating a new range
118b2a28edaSopenharmony_ci             (several extensions can use enumerants from the same range)
119b2a28edaSopenharmony_ci
120b2a28edaSopenharmony_ci         Each vendor determines the use of enumerants in the ranges they
121b2a28edaSopenharmony_ci         reserve. Vendors are not required to disclose those uses.  If the use
122b2a28edaSopenharmony_ci         of an enumerant is included in an extension that is adopted by a Khronos
123b2a28edaSopenharmony_ci         extension or specification, then that enumerant's use may be permanently
124b2a28edaSopenharmony_ci         fixed as if originally reserved in a Khronos range.
125b2a28edaSopenharmony_ci
126b2a28edaSopenharmony_ci         -->
127b2a28edaSopenharmony_ci
128b2a28edaSopenharmony_ci    <!-- Begin reservations of opcode enumerants -->
129b2a28edaSopenharmony_ci    <ids type="opcode" start="0" end="4095" vendor="Khronos" comment="Reserved opcodes, not available to vendors - see the SPIR-V Specification"/>
130b2a28edaSopenharmony_ci    <ids type="opcode" start="4096" end="4159" vendor="Mesa" comment="Contact TBD"/>
131b2a28edaSopenharmony_ci    <ids type="opcode" start="4160" end="4415" vendor="ARM" comment="Contact kevin.petit@arm.com"/>
132b2a28edaSopenharmony_ci    <ids type="opcode" start="4416" end="4479" vendor="Khronos" comment="SPV_ARB_shader_ballot - contact Neil Henning, neil.henning@amd.com"/>
133b2a28edaSopenharmony_ci    <ids type="opcode" start="4480" end="4991" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
134b2a28edaSopenharmony_ci    <ids type="opcode" start="4992" end="5247" vendor="AMD"/>
135b2a28edaSopenharmony_ci    <ids type="opcode" start="5248" end="5503" vendor="NVIDIA"/>
136b2a28edaSopenharmony_ci    <ids type="opcode" start="5504" end="5567" vendor="Imagination"/>
137b2a28edaSopenharmony_ci    <ids type="opcode" start="5568" end="5631" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
138b2a28edaSopenharmony_ci    <ids type="opcode" start="5632" end="5695" vendor="Google" comment="Contact dneto@google.com"/>
139b2a28edaSopenharmony_ci    <ids type="opcode" start="5696" end="5823" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
140b2a28edaSopenharmony_ci    <ids type="opcode" start="5824" end="5951" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
141b2a28edaSopenharmony_ci    <ids type="opcode" start="5952" end="6015" vendor="Codeplay" comment="Contact victor@codeplay.com"/>
142b2a28edaSopenharmony_ci    <ids type="opcode" start="6016" end="6079" vendor="Khronos" comment="Contact @tobski"/>
143b2a28edaSopenharmony_ci    <ids type="opcode" start="6080" end="6143" vendor="Intel" comment="Contact mariusz.merecki@intel.com"/>
144b2a28edaSopenharmony_ci    <ids type="opcode" start="6144" end="6271" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
145b2a28edaSopenharmony_ci    <ids type="opcode" start="6272" end="6399" vendor="Huawei" comment="Contact wanghuilong2@xunweitech.com"/>
146b2a28edaSopenharmony_ci    <ids type="opcode" start="6400" end="6463" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
147b2a28edaSopenharmony_ci    <ids type="opcode" start="6464" end="6527" vendor="N/A" comment="Blank range to keep alignment with non-opcodes"/>
148b2a28edaSopenharmony_ci    <ids type="opcode" start="6528" end="6591" vendor="Codeplay" comment="Contact duncan.brawley@codeplay.com"/>
149b2a28edaSopenharmony_ci    <ids type="opcode" start="6592" end="6655" vendor="Saarland University" comment="Contact devillers@cg.uni-saarland.de"/>
150b2a28edaSopenharmony_ci    <ids type="opcode" start="6656" end="6719" vendor="Meta" comment="Contact dunfanlu@meta.com"/>
151b2a28edaSopenharmony_ci    <!-- Opcode enumerants to reserve for future use. To get a block, allocate
152b2a28edaSopenharmony_ci         multiples of 64 starting at the lowest available point in this
153b2a28edaSopenharmony_ci         block and add a corresponding <ids> tag immediately above. Make
154b2a28edaSopenharmony_ci         sure to fill in the vendor attribute, and preferably add a contact
155b2a28edaSopenharmony_ci         person/address in a comment attribute. -->
156b2a28edaSopenharmony_ci    <!-- Example new block: <ids type="opcode" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
157b2a28edaSopenharmony_ci    <ids type="opcode" start="6656" end="65535" comment="Opcode range reservable for future use by vendors"/>
158b2a28edaSopenharmony_ci    <!-- End reservations of opcodes -->
159b2a28edaSopenharmony_ci
160b2a28edaSopenharmony_ci
161b2a28edaSopenharmony_ci    <!-- Begin reservations of non-opcode enumerants -->
162b2a28edaSopenharmony_ci    <ids type="enumerant" start="0" end="4095" vendor="Khronos" comment="Reserved enumerants, not available to vendors - see the SPIR-V Specification"/>
163b2a28edaSopenharmony_ci    <ids type="enumerant" start="4096" end="4159" vendor="Mesa" comment="Contact TBD"/>
164b2a28edaSopenharmony_ci    <ids type="enumerant" start="4160" end="4415" vendor="ARM" comment="Contact kevin.petit@arm.com"/>
165b2a28edaSopenharmony_ci    <ids type="enumerant" start="4416" end="4479" vendor="Khronos" comment="SPV_ARB_shader_ballot - contact Neil Henning, neil.henning@amd.com"/>
166b2a28edaSopenharmony_ci    <ids type="enumerant" start="4480" end="4991" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
167b2a28edaSopenharmony_ci    <ids type="enumerant" start="4992" end="5247" vendor="AMD"/>
168b2a28edaSopenharmony_ci    <ids type="enumerant" start="5248" end="5503" vendor="NVIDIA"/>
169b2a28edaSopenharmony_ci    <ids type="enumerant" start="5504" end="5567" vendor="Imagination"/>
170b2a28edaSopenharmony_ci    <ids type="enumerant" start="5568" end="5631" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
171b2a28edaSopenharmony_ci    <ids type="enumerant" start="5632" end="5695" vendor="Google" comment="Contact dneto@google.com"/>
172b2a28edaSopenharmony_ci    <ids type="enumerant" start="5696" end="5823" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
173b2a28edaSopenharmony_ci    <ids type="enumerant" start="5824" end="5951" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
174b2a28edaSopenharmony_ci    <ids type="enumerant" start="5952" end="6015" vendor="Codeplay" comment="Contact victor@codeplay.com"/>
175b2a28edaSopenharmony_ci    <ids type="enumerant" start="6016" end="6079" vendor="Khronos" comment="Contact @tobski"/>
176b2a28edaSopenharmony_ci    <ids type="enumerant" start="6080" end="6143" vendor="Intel" comment="Contact mariusz.merecki@intel.com"/>
177b2a28edaSopenharmony_ci    <ids type="enumerant" start="6144" end="6271" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
178b2a28edaSopenharmony_ci    <ids type="enumerant" start="6272" end="6399" vendor="Huawei" comment="Contact wanghuilong2@xunweitech.com"/>
179b2a28edaSopenharmony_ci    <ids type="enumerant" start="6400" end="6463" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
180b2a28edaSopenharmony_ci    <ids type="enumerant" start="6464" end="6527" vendor="Mikkosoft Productions" comment="Contact Mikko Rasa, tdb@tdb.fi"/>
181b2a28edaSopenharmony_ci    <ids type="enumerant" start="6528" end="6591" vendor="Codeplay" comment="Contact duncan.brawley@codeplay.com"/>
182b2a28edaSopenharmony_ci    <ids type="enumerant" start="6592" end="6655" vendor="Saarland University" comment="Contact devillers@cg.uni-saarland.de"/>
183b2a28edaSopenharmony_ci    <ids type="enumerant" start="6656" end="6719" vendor="Meta" comment="Contact dunfanlu@meta.com"/>
184b2a28edaSopenharmony_ci    <!-- Enumerants to reserve for future use. To get a block, allocate
185b2a28edaSopenharmony_ci         multiples of 64 starting at the lowest available point in this
186b2a28edaSopenharmony_ci         block and add a corresponding <ids> tag immediately above. Make
187b2a28edaSopenharmony_ci         sure to fill in the vendor attribute, and preferably add a contact
188b2a28edaSopenharmony_ci         person/address in a comment attribute. -->
189b2a28edaSopenharmony_ci    <!-- Example new block: <ids type="enumerant" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
190b2a28edaSopenharmony_ci    <ids type="enumerant" start="6656" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
191b2a28edaSopenharmony_ci    <!-- End reservations of enumerants -->
192b2a28edaSopenharmony_ci
193b2a28edaSopenharmony_ci
194b2a28edaSopenharmony_ci    <!-- SECTION: SPIR-V Loop Control Bit Reservations -->
195b2a28edaSopenharmony_ci    <!-- Reserve ranges of bits in the loop control bitfield.
196b2a28edaSopenharmony_ci
197b2a28edaSopenharmony_ci         Each vendor determines the use of values in their own ranges.
198b2a28edaSopenharmony_ci         Vendors are not required to disclose those uses.  If the use of a
199b2a28edaSopenharmony_ci         value is included in an extension that is adopted by a Khronos
200b2a28edaSopenharmony_ci         extension or specification, then that value's use may be permanently
201b2a28edaSopenharmony_ci         fixed as if originally reserved in a Khronos range.
202b2a28edaSopenharmony_ci
203b2a28edaSopenharmony_ci         The SPIR Working Group strongly recommends:
204b2a28edaSopenharmony_ci         - Each value is used for only one purpose.
205b2a28edaSopenharmony_ci         - All values in a range should be used before allocating a new range.
206b2a28edaSopenharmony_ci         -->
207b2a28edaSopenharmony_ci
208b2a28edaSopenharmony_ci    <!-- Reserved loop control bits -->
209b2a28edaSopenharmony_ci    <ids type="LoopControl" start="0" end="15" vendor="Khronos" comment="Reserved LoopControl bits, not available to vendors - see the SPIR-V Specification"/>
210b2a28edaSopenharmony_ci    <ids type="LoopControl" start="16" end="25" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
211b2a28edaSopenharmony_ci    <ids type="LoopControl" start="26" end="30" comment="Unreserved bits reservable for use by vendors"/>
212b2a28edaSopenharmony_ci    <ids type="LoopControl" start="31" end="31" vendor="Khronos" comment="Reserved LoopControl bit, not available to vendors"/>
213b2a28edaSopenharmony_ci
214b2a28edaSopenharmony_ci
215b2a28edaSopenharmony_ci    <!-- SECTION: SPIR-V Function Control Bit Reservations -->
216b2a28edaSopenharmony_ci    <!-- Reserve ranges of bits in the function control bitfield.
217b2a28edaSopenharmony_ci
218b2a28edaSopenharmony_ci         Each vendor determines the use of values in their own ranges.
219b2a28edaSopenharmony_ci         Vendors are not required to disclose those uses.  If the use of a
220b2a28edaSopenharmony_ci         value is included in an extension that is adopted by a Khronos
221b2a28edaSopenharmony_ci         extension or specification, then that value's use may be permanently
222b2a28edaSopenharmony_ci         fixed as if originally reserved in a Khronos range.
223b2a28edaSopenharmony_ci
224b2a28edaSopenharmony_ci         The SPIR Working Group strongly recommends:
225b2a28edaSopenharmony_ci         - Each value is used for only one purpose.
226b2a28edaSopenharmony_ci         - All values in a range should be used before allocating a new range.
227b2a28edaSopenharmony_ci         -->
228b2a28edaSopenharmony_ci
229b2a28edaSopenharmony_ci    <!-- Reserved function control bits -->
230b2a28edaSopenharmony_ci    <ids type="FunctionControl" start="0" end="15" vendor="Khronos" comment="Reserved FunctionControl bits, not available to vendors - see the SPIR-V Specification"/>
231b2a28edaSopenharmony_ci    <ids type="FunctionControl" start="16" end="16" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
232b2a28edaSopenharmony_ci    <ids type="FunctionControl" start="17" end="30" comment="Unreserved bits reservable for use by vendors"/>
233b2a28edaSopenharmony_ci    <ids type="FunctionControl" start="31" end="31" vendor="Khronos" comment="Reserved FunctionControl bit, not available to vendors"/>
234b2a28edaSopenharmony_ci
235b2a28edaSopenharmony_ci
236b2a28edaSopenharmony_ci    <!-- SECTION: SPIR-V FP Fast Math Mode Bit Reservations -->
237b2a28edaSopenharmony_ci    <!-- Reserve ranges of bits in the "FP Fast Math Mode" bitfield.
238b2a28edaSopenharmony_ci         Each vendor determines the use of values in their own ranges.
239b2a28edaSopenharmony_ci         Vendors are not required to disclose those uses.  If the use of a
240b2a28edaSopenharmony_ci         value is included in an extension that is adopted by a Khronos
241b2a28edaSopenharmony_ci         extension or specification, then that value's use may be permanently
242b2a28edaSopenharmony_ci         fixed as if originally reserved in a Khronos range.
243b2a28edaSopenharmony_ci         The SPIR Working Group strongly recommends:
244b2a28edaSopenharmony_ci         - Each value is used for only one purpose.
245b2a28edaSopenharmony_ci         - All values in a range should be used before allocating a new range.
246b2a28edaSopenharmony_ci         -->
247b2a28edaSopenharmony_ci
248b2a28edaSopenharmony_ci    <!-- Reserved FP fast math mode bits -->
249b2a28edaSopenharmony_ci    <ids type="FPFastMathMode" start="0" end="15" vendor="Khronos" comment="Reserved FPFastMathMode bits, not available to vendors - see the SPIR-V Specification"/>
250b2a28edaSopenharmony_ci    <ids type="FPFastMathMode" start="16" end="17" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
251b2a28edaSopenharmony_ci    <ids type="FPFastMathMode" start="18" end="31" comment="Unreserved bits reservable for use by vendors"/>
252b2a28edaSopenharmony_ci
253b2a28edaSopenharmony_ci
254b2a28edaSopenharmony_ci    <!-- SECTION: SPIR-V Memory Operand Bit Reservations -->
255b2a28edaSopenharmony_ci    <!-- Reserve ranges of bits in the memory operands bitfield.
256b2a28edaSopenharmony_ci
257b2a28edaSopenharmony_ci         Each vendor determines the use of values in their own ranges.
258b2a28edaSopenharmony_ci         Vendors are not required to disclose those uses.  If the use of a
259b2a28edaSopenharmony_ci         value is included in an extension that is adopted by a Khronos
260b2a28edaSopenharmony_ci         extension or specification, then that value's use may be permanently
261b2a28edaSopenharmony_ci         fixed as if originally reserved in a Khronos range.
262b2a28edaSopenharmony_ci
263b2a28edaSopenharmony_ci         The SPIR Working Group strongly recommends:
264b2a28edaSopenharmony_ci         - Each value is used for only one purpose.
265b2a28edaSopenharmony_ci         - All values in a range should be used before allocating a new range.
266b2a28edaSopenharmony_ci         -->
267b2a28edaSopenharmony_ci
268b2a28edaSopenharmony_ci    <!-- Reserved memory operand bits -->
269b2a28edaSopenharmony_ci    <ids type="MemoryOperand" start="0" end="15" vendor="Khronos" comment="Reserved MemoryOperand bits, not available to vendors - see the SPIR-V Specification"/>
270b2a28edaSopenharmony_ci    <ids type="MemoryOperand" start="16" end="17" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
271b2a28edaSopenharmony_ci    <ids type="MemoryOperand" start="18" end="30" comment="Unreserved bits reservable for use by vendors"/>
272b2a28edaSopenharmony_ci    <ids type="MemoryOperand" start="31" end="31" vendor="Khronos" comment="Reserved MemoryOperand bit, not available to vendors"/>
273b2a28edaSopenharmony_ci
274b2a28edaSopenharmony_ci    <!-- SECTION: SPIR-V Image Operand Bit Reservations -->
275b2a28edaSopenharmony_ci    <!-- Reserve ranges of bits in the image operands bitfield.
276b2a28edaSopenharmony_ci
277b2a28edaSopenharmony_ci         Each vendor determines the use of values in their own ranges.
278b2a28edaSopenharmony_ci         Vendors are not required to disclose those uses.  If the use of a
279b2a28edaSopenharmony_ci         value is included in an extension that is adopted by a Khronos
280b2a28edaSopenharmony_ci         extension or specification, then that value's use may be permanently
281b2a28edaSopenharmony_ci         fixed as if originally reserved in a Khronos range.
282b2a28edaSopenharmony_ci
283b2a28edaSopenharmony_ci         The SPIR Working Group strongly recommends:
284b2a28edaSopenharmony_ci         - Each value is used for only one purpose.
285b2a28edaSopenharmony_ci         - All values in a range should be used before allocating a new range.
286b2a28edaSopenharmony_ci         -->
287b2a28edaSopenharmony_ci
288b2a28edaSopenharmony_ci    <!-- Reserved image operand bits -->
289b2a28edaSopenharmony_ci    <ids type="ImageOperand" start="0" end="15" vendor="Khronos" comment="Reserved ImageOperand bits, not available to vendors - see the SPIR-V Specification"/>
290b2a28edaSopenharmony_ci    <ids type="ImageOperand" start="16" end="16" vendor="Nvidia" comment="Contact pmistry@nvidia.com"/>
291b2a28edaSopenharmony_ci    <ids type="ImageOperand" start="17" end="30" comment="Unreserved bits reservable for use by vendors"/>
292b2a28edaSopenharmony_ci    <ids type="ImageOperand" start="31" end="31" vendor="Khronos" comment="Reserved ImageOperand bit, not available to vendors"/>
293b2a28edaSopenharmony_ci
294b2a28edaSopenharmony_ci</registry>
295