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