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