Merge pull request #294 from kpet/clspv-texel-buffer

Add support for texel buffers to clspv non-semantic instruction set
diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml
index 7acaed3..dad141b 100644
--- a/include/spirv/spir-v.xml
+++ b/include/spirv/spir-v.xml
@@ -85,7 +85,8 @@
         <id value="32"  vendor="TornadoVM" tool="SPIRV Beehive Toolkit" comment="https://github.com/beehive-lab/spirv-beehive-toolkit"/>
         <id value="33"  vendor="DragonJoker" tool="ShaderWriter" comment="Contact Sylvain Doremus, https://github.com/DragonJoker/ShaderWriter"/>
         <id value="34"  vendor="Rayan Hatout" tool="SPIRVSmith" comment="Contact Rayan Hatout rayan.hatout@gmail.com, Repo https://github.com/rayanht/SPIRVSmith"/>
-        <unused start="35" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
+        <id value="35"  vendor="Saarland University" tool="Shady" comment="Contact Hugo Devillers devillers@uni-saarland.de, Repo https://github.com/Hugobros3/shady"/>
+        <unused start="36" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
     </ids>
 
     <!-- SECTION: SPIR-V Opcodes and Enumerants -->
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
index f83434a..4bdb937 100644
--- a/include/spirv/unified1/spirv.bf
+++ b/include/spirv/unified1/spirv.bf
@@ -1063,6 +1063,7 @@
             FragmentShaderPixelInterlockEXT = 5378,
             DemoteToHelperInvocation = 5379,
             DemoteToHelperInvocationEXT = 5379,
+            RayTracingOpacityMicromapEXT = 5381,
             BindlessTextureNV = 5390,
             SubgroupShuffleINTEL = 5568,
             SubgroupBufferBlockIOINTEL = 5569,
@@ -1136,6 +1137,7 @@
             CullNoOpaqueKHR = 7,
             SkipTrianglesKHR = 8,
             SkipAABBsKHR = 9,
+            ForceOpacityMicromap2StateEXT = 10,
         }
 
         [AllowDuplicates, CRepr] public enum RayFlagsMask
@@ -1151,6 +1153,7 @@
             CullNoOpaqueKHR = 0x00000080,
             SkipTrianglesKHR = 0x00000100,
             SkipAABBsKHR = 0x00000200,
+            ForceOpacityMicromap2StateEXT = 0x00000400,
         }
 
         [AllowDuplicates, CRepr] public enum RayQueryIntersection
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index 5cedfb0..c6517c4 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -9409,6 +9409,12 @@
           "value" : "0x0200",
           "capabilities" : [ "RayTraversalPrimitiveCullingKHR" ],
           "version" : "None"
+        },
+        {
+          "enumerant" : "ForceOpacityMicromap2StateEXT",
+          "value" : "0x0400",
+          "capabilities" : [ "RayTracingOpacityMicromapEXT" ],
+          "version" : "None"
         }
       ]
     },
@@ -13911,6 +13917,13 @@
           "version" : "1.6"
         },
         {
+          "enumerant" : "RayTracingOpacityMicromapEXT",
+          "value" : 5381,
+          "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
+          "extensions" : [ "SPV_EXT_opacity_micromap" ],
+          "version" : "None"
+        },
+        {
           "enumerant" : "BindlessTextureNV",
           "value" : 5390,
           "extensions" : [ "SPV_NV_bindless_texture" ],
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
index 9a0b14f..0cf3d34 100644
--- a/include/spirv/unified1/spirv.cs
+++ b/include/spirv/unified1/spirv.cs
@@ -1062,6 +1062,7 @@
             FragmentShaderPixelInterlockEXT = 5378,
             DemoteToHelperInvocation = 5379,
             DemoteToHelperInvocationEXT = 5379,
+            RayTracingOpacityMicromapEXT = 5381,
             BindlessTextureNV = 5390,
             SubgroupShuffleINTEL = 5568,
             SubgroupBufferBlockIOINTEL = 5569,
@@ -1135,6 +1136,7 @@
             CullNoOpaqueKHR = 7,
             SkipTrianglesKHR = 8,
             SkipAABBsKHR = 9,
+            ForceOpacityMicromap2StateEXT = 10,
         }
 
         public enum RayFlagsMask
@@ -1150,6 +1152,7 @@
             CullNoOpaqueKHR = 0x00000080,
             SkipTrianglesKHR = 0x00000100,
             SkipAABBsKHR = 0x00000200,
+            ForceOpacityMicromap2StateEXT = 0x00000400,
         }
 
         public enum RayQueryIntersection
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index c3b1b3b..af4f06b 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -1062,6 +1062,7 @@
     SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
     SpvCapabilityDemoteToHelperInvocation = 5379,
     SpvCapabilityDemoteToHelperInvocationEXT = 5379,
+    SpvCapabilityRayTracingOpacityMicromapEXT = 5381,
     SpvCapabilityBindlessTextureNV = 5390,
     SpvCapabilitySubgroupShuffleINTEL = 5568,
     SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
@@ -1135,6 +1136,7 @@
     SpvRayFlagsCullNoOpaqueKHRShift = 7,
     SpvRayFlagsSkipTrianglesKHRShift = 8,
     SpvRayFlagsSkipAABBsKHRShift = 9,
+    SpvRayFlagsForceOpacityMicromap2StateEXTShift = 10,
     SpvRayFlagsMax = 0x7fffffff,
 } SpvRayFlagsShift;
 
@@ -1150,6 +1152,7 @@
     SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,
     SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,
     SpvRayFlagsSkipAABBsKHRMask = 0x00000200,
+    SpvRayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
 } SpvRayFlagsMask;
 
 typedef enum SpvRayQueryIntersection_ {
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index 38813cc..b7ec5d7 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -1058,6 +1058,7 @@
     CapabilityFragmentShaderPixelInterlockEXT = 5378,
     CapabilityDemoteToHelperInvocation = 5379,
     CapabilityDemoteToHelperInvocationEXT = 5379,
+    CapabilityRayTracingOpacityMicromapEXT = 5381,
     CapabilityBindlessTextureNV = 5390,
     CapabilitySubgroupShuffleINTEL = 5568,
     CapabilitySubgroupBufferBlockIOINTEL = 5569,
@@ -1131,6 +1132,7 @@
     RayFlagsCullNoOpaqueKHRShift = 7,
     RayFlagsSkipTrianglesKHRShift = 8,
     RayFlagsSkipAABBsKHRShift = 9,
+    RayFlagsForceOpacityMicromap2StateEXTShift = 10,
     RayFlagsMax = 0x7fffffff,
 };
 
@@ -1146,6 +1148,7 @@
     RayFlagsCullNoOpaqueKHRMask = 0x00000080,
     RayFlagsSkipTrianglesKHRMask = 0x00000100,
     RayFlagsSkipAABBsKHRMask = 0x00000200,
+    RayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
 };
 
 enum RayQueryIntersection {
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index 10309fe..f0f5871 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -1058,6 +1058,7 @@
     FragmentShaderPixelInterlockEXT = 5378,
     DemoteToHelperInvocation = 5379,
     DemoteToHelperInvocationEXT = 5379,
+    RayTracingOpacityMicromapEXT = 5381,
     BindlessTextureNV = 5390,
     SubgroupShuffleINTEL = 5568,
     SubgroupBufferBlockIOINTEL = 5569,
@@ -1131,6 +1132,7 @@
     CullNoOpaqueKHR = 7,
     SkipTrianglesKHR = 8,
     SkipAABBsKHR = 9,
+    ForceOpacityMicromap2StateEXT = 10,
     Max = 0x7fffffff,
 };
 
@@ -1146,6 +1148,7 @@
     CullNoOpaqueKHR = 0x00000080,
     SkipTrianglesKHR = 0x00000100,
     SkipAABBsKHR = 0x00000200,
+    ForceOpacityMicromap2StateEXT = 0x00000400,
 };
 
 enum class RayQueryIntersection : unsigned {
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index ebd09ee..466f0b0 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -1040,6 +1040,7 @@
                     "FragmentShaderPixelInterlockEXT": 5378,
                     "DemoteToHelperInvocation": 5379,
                     "DemoteToHelperInvocationEXT": 5379,
+                    "RayTracingOpacityMicromapEXT": 5381,
                     "BindlessTextureNV": 5390,
                     "SubgroupShuffleINTEL": 5568,
                     "SubgroupBufferBlockIOINTEL": 5569,
@@ -1115,7 +1116,8 @@
                     "CullOpaqueKHR": 6,
                     "CullNoOpaqueKHR": 7,
                     "SkipTrianglesKHR": 8,
-                    "SkipAABBsKHR": 9
+                    "SkipAABBsKHR": 9,
+                    "ForceOpacityMicromap2StateEXT": 10
                 }
             },
             {
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index 1d784f7..b763c84 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -1020,6 +1020,7 @@
         FragmentShaderPixelInterlockEXT = 5378,
         DemoteToHelperInvocation = 5379,
         DemoteToHelperInvocationEXT = 5379,
+        RayTracingOpacityMicromapEXT = 5381,
         BindlessTextureNV = 5390,
         SubgroupShuffleINTEL = 5568,
         SubgroupBufferBlockIOINTEL = 5569,
@@ -1092,6 +1093,7 @@
         CullNoOpaqueKHR = 7,
         SkipTrianglesKHR = 8,
         SkipAABBsKHR = 9,
+        ForceOpacityMicromap2StateEXT = 10,
     },
 
     RayFlagsMask = {
@@ -1106,6 +1108,7 @@
         CullNoOpaqueKHR = 0x00000080,
         SkipTrianglesKHR = 0x00000100,
         SkipAABBsKHR = 0x00000200,
+        ForceOpacityMicromap2StateEXT = 0x00000400,
     },
 
     RayQueryIntersection = {
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index 970649f..12e3401 100644
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -1020,6 +1020,7 @@
         'FragmentShaderPixelInterlockEXT' : 5378,
         'DemoteToHelperInvocation' : 5379,
         'DemoteToHelperInvocationEXT' : 5379,
+        'RayTracingOpacityMicromapEXT' : 5381,
         'BindlessTextureNV' : 5390,
         'SubgroupShuffleINTEL' : 5568,
         'SubgroupBufferBlockIOINTEL' : 5569,
@@ -1092,6 +1093,7 @@
         'CullNoOpaqueKHR' : 7,
         'SkipTrianglesKHR' : 8,
         'SkipAABBsKHR' : 9,
+        'ForceOpacityMicromap2StateEXT' : 10,
     },
 
     'RayFlagsMask' : {
@@ -1106,6 +1108,7 @@
         'CullNoOpaqueKHR' : 0x00000080,
         'SkipTrianglesKHR' : 0x00000100,
         'SkipAABBsKHR' : 0x00000200,
+        'ForceOpacityMicromap2StateEXT' : 0x00000400,
     },
 
     'RayQueryIntersection' : {
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
index a8c03ff..6462405 100644
--- a/include/spirv/unified1/spv.d
+++ b/include/spirv/unified1/spv.d
@@ -1065,6 +1065,7 @@
     FragmentShaderPixelInterlockEXT = 5378,
     DemoteToHelperInvocation = 5379,
     DemoteToHelperInvocationEXT = 5379,
+    RayTracingOpacityMicromapEXT = 5381,
     BindlessTextureNV = 5390,
     SubgroupShuffleINTEL = 5568,
     SubgroupBufferBlockIOINTEL = 5569,
@@ -1138,6 +1139,7 @@
     CullNoOpaqueKHR = 7,
     SkipTrianglesKHR = 8,
     SkipAABBsKHR = 9,
+    ForceOpacityMicromap2StateEXT = 10,
 }
 
 enum RayFlagsMask : uint
@@ -1153,6 +1155,7 @@
     CullNoOpaqueKHR = 0x00000080,
     SkipTrianglesKHR = 0x00000100,
     SkipAABBsKHR = 0x00000200,
+    ForceOpacityMicromap2StateEXT = 0x00000400,
 }
 
 enum RayQueryIntersection : uint