Clarify opcode/enum ranges
authorDavid Neto <dneto@google.com>
Mon, 19 Sep 2016 19:41:05 +0000 (15:41 -0400)
committerDavid Neto <dneto@google.com>
Mon, 19 Sep 2016 19:41:05 +0000 (15:41 -0400)
include/spirv/spir-v.xml

index 2966a2d..7a301a6 100644 (file)
     <!-- SECTION: SPIR-V Opcodes and Enumerants -->
     <!-- Reserve new ranges for vendors in contiguous blocks of 64
          preceding the "Future use" block below, and modify that block
-         accordingly. -->
+         accordingly.
+
+         Each vendor determines the use of values in their own ranges.
+         Vendors are not required to disclose those uses.
+
+         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.
+           For example, to avoid nused gaps in ranges, it is customary for
+           several extensions to use values from the same range.
+
+         The Id type "enum" is a synonym for "opcode".
+
+         Note that SPIR-V restricts opcode values to 16 bits.
+         -->
 
     <!-- Reserved opcode & enumerant blocks -->
     <ids type="opcode" start="0" end="4095" vendor="Khronos" comment="Reserved opcodes, not available to vendors - see the SPIR-V Specification"/>
 
     <!-- Example new block: <ids type="opcode" start="5504" end="5504+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
 
-    <ids type="opcode" start="5504" end="1000000" comment="Opcode range reservable for future use by vendors"/>
+    <ids type="opcode" start="5504" end="4294967295" comment="Opcode range reservable for future use by vendors"/>
 
 </registry>