Browse Source

Updated spirv-headers.

Бранимир Караџић 5 years ago
parent
commit
cde12a1647

+ 18 - 0
3rdparty/spirv-headers/include/spirv/spir-v.xml

@@ -143,4 +143,22 @@
     <ids type="LoopControl" start="23" end="30" comment="Unreserved bits reservable for use by vendors"/>
     <ids type="LoopControl" start="31" end="31" vendor="Khronos" comment="Reserved LoopControl bit, not available to vendors"/>
 
+
+    <!-- SECTION: SPIR-V FP Fast Math Mode Bit Reservations -->
+    <!-- Reserve ranges of bits in the “FP Fast Math Mode” bitfield.
+         Each vendor determines the use of values in their own ranges.
+         Vendors are not required to disclose those uses.  If the use of a
+         value is included in an extension that is adopted by a Khronos
+         extension or specification, then that value's use may be permanently
+         fixed as if originally reserved in a Khronos range.
+         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.
+         -->
+
+    <!-- Reserved FP fast math mode bits -->
+    <ids type="FPFastMathMode" start="0" end="15" vendor="Khronos" comment="Reserved FPFastMathMode bits, not available to vendors - see the SPIR-V Specification"/>
+    <ids type="FPFastMathMode" start="16" end="17" vendor="Intel" comment="Contact [email protected]"/>
+    <ids type="FPFastMathMode" start="18" end="31" comment="Unreserved bits reservable for use by vendors"/>
+
 </registry>

+ 365 - 0
3rdparty/spirv-headers/include/spirv/unified1/spirv.core.grammar.json

@@ -5099,6 +5099,32 @@
       "capabilities" : [ "IntegerFunctions2INTEL" ],
       "version" : "None"
     },
+    {
+      "opname" : "OpFunctionPointerINTEL",
+      "class"  : "@exclude",
+      "opcode" : 5600,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef",        "name" : "'Function'" }
+      ],
+      "capabilities" : [ "FunctionPointersINTEL" ],
+      "extensions" : [ "SPV_INTEL_function_pointers" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpFunctionPointerCallINTEL",
+      "class"  : "@exclude",
+      "opcode" : 5601,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef", "quantifier" : "*", "name" : "'Operand 1'" }
+      ],
+      "capabilities" : [ "FunctionPointersINTEL" ],
+      "extensions" : [ "SPV_INTEL_function_pointers" ],
+      "version" : "None"
+    },
     {
       "opname" : "OpDecorateString",
       "class"  : "Annotation",
@@ -6662,6 +6688,59 @@
       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
       "version" : "None"
     },
+    {
+      "opname" : "OpLoopControlINTEL",
+      "class"  : "Reserved",
+      "opcode" : 5887,
+      "operands" : [
+        { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Loop Control Parameters'" }
+      ],
+      "capabilities" : [ "UnstructuredLoopControlsINTEL" ],
+      "extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpReadPipeBlockingINTEL",
+      "class"  : "Pipe",
+      "opcode" : 5946,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef", "name" : "'Packet Size'" },
+        { "kind" : "IdRef", "name" : "'Packet Alignment'" }
+      ],
+      "capabilities" : [ "BlockingPipesINTEL" ],
+      "extensions" : [ "SPV_INTEL_blocking_pipes" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpWritePipeBlockingINTEL",
+      "class"  : "Pipe",
+      "opcode" : 5947,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef", "name" : "'Packet Size'" },
+        { "kind" : "IdRef", "name" : "'Packet Alignment'" }
+      ],
+      "capabilities" : [ "BlockingPipesINTEL" ],
+      "extensions" : [ "SPV_INTEL_blocking_pipes" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpFPGARegINTEL",
+      "class"  : "Reserved",
+      "opcode" : 5949,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef", "name" : "'Result'" },
+        { "kind" : "IdRef", "name" : "'Input'" }
+      ],
+      "capabilities" : [ "FPGARegINTEL" ],
+      "extensions" : [ "SPV_INTEL_fpga_reg" ],
+      "version" : "None"
+    },
     {
         "opname" : "OpRayQueryGetRayTMinKHR",
         "class" : "Reserved",
@@ -7250,6 +7329,76 @@
             { "kind" : "LiteralInteger" }
           ],
           "version" : "1.4"
+        },
+        {
+          "enumerant" : "InitiationIntervalINTEL",
+          "value" : "0x10000",
+          "parameters" : [
+            { "kind" : "LiteralInteger" }
+          ],
+          "capabilities" : [ "FPGALoopControlsINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MaxConcurrencyINTEL",
+          "value" : "0x20000",
+          "parameters" : [
+            { "kind" : "LiteralInteger" }
+          ],
+          "capabilities" : [ "FPGALoopControlsINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "DependencyArrayINTEL",
+          "value" : "0x40000",
+          "parameters" : [
+            { "kind" : "LiteralInteger" }
+          ],
+          "capabilities" : [ "FPGALoopControlsINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "PipelineEnableINTEL",
+          "value" : "0x80000",
+          "parameters" : [
+            { "kind" : "LiteralInteger" }
+          ],
+          "capabilities" : [ "FPGALoopControlsINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "LoopCoalesceINTEL",
+          "value" : "0x100000",
+          "parameters" : [
+            { "kind" : "LiteralInteger" }
+          ],
+          "capabilities" : [ "FPGALoopControlsINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MaxInterleavingINTEL",
+          "value" : "0x200000",
+          "parameters" : [
+            { "kind" : "LiteralInteger" }
+          ],
+          "capabilities" : [ "FPGALoopControlsINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "SpeculatedIterationsINTEL",
+          "value" : "0x400000",
+          "parameters" : [
+            { "kind" : "LiteralInteger" }
+          ],
+          "capabilities" : [ "FPGALoopControlsINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+          "version" : "None"
         }
       ]
     },
@@ -8145,6 +8294,45 @@
           "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
           "version" : "None"
+        },
+        {
+          "enumerant" : "MaxWorkgroupSizeINTEL",
+          "value" : 5893,
+          "parameters" : [
+            { "kind" : "LiteralInteger", "name" : "'max_x_size'" },
+            { "kind" : "LiteralInteger", "name" : "'max_y_size'" },
+            { "kind" : "LiteralInteger", "name" : "'max_z_size'" }
+          ],
+          "capabilities" : [ "KernelAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_kernel_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MaxWorkDimINTEL",
+          "value" : 5894,
+          "parameters" : [
+            { "kind" : "LiteralInteger", "name" : "'max_dimensions'" }
+          ],
+          "capabilities" : [ "KernelAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_kernel_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "NoGlobalOffsetINTEL",
+          "value" : 5895,
+          "capabilities" : [ "KernelAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_kernel_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "NumSIMDWorkitemsINTEL",
+          "value" : 5896,
+          "parameters" : [
+            { "kind" : "LiteralInteger", "name" : "'vector_width'" }
+          ],
+          "capabilities" : [ "FPGAKernelAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_kernel_attributes" ],
+          "version" : "None"
         }
       ]
     },
@@ -8313,6 +8501,13 @@
           "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
           "version" : "1.5"
+        },
+        {
+          "enumerant" : "CodeSectionINTEL",
+          "value" : 5605,
+          "extensions" : [ "SPV_INTEL_function_pointers" ],
+          "capabilities" : [ "FunctionPointersINTEL" ],
+          "version" : "None"
         }
       ]
     },
@@ -9333,6 +9528,13 @@
           "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
           "version" : "1.5"
         },
+        {
+          "enumerant" : "ReferencedIndirectlyINTEL",
+          "value" : 5602,
+          "capabilities" : [ "IndirectReferencesINTEL" ],
+          "extensions" : [ "SPV_INTEL_function_pointers" ],
+          "version" : "None"
+        },
         {
           "enumerant" : "CounterBuffer",
           "value" : 5634,
@@ -9375,6 +9577,115 @@
           ],
           "extensions" : [ "SPV_GOOGLE_user_type" ],
           "version" : "None"
+        },
+        {
+          "enumerant" : "RegisterINTEL",
+          "value" : 5825,
+          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MemoryINTEL",
+          "value" : 5826,
+          "parameters" : [
+            { "kind" : "LiteralString", "name" : "'Memory Type'" }
+          ],
+          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "NumbanksINTEL",
+          "value" : 5827,
+          "parameters" : [
+            { "kind" : "LiteralInteger", "name" : "'Banks'" }
+          ],
+          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "BankwidthINTEL",
+          "value" : 5828,
+          "parameters" : [
+            { "kind" : "LiteralInteger", "name" : "'Bank Width'" }
+          ],
+          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MaxPrivateCopiesINTEL",
+          "value" : 5829,
+          "parameters" : [
+            { "kind" : "LiteralInteger", "name" : "'Maximum Copies'" }
+          ],
+          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "SinglepumpINTEL",
+          "value" : 5830,
+          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "DoublepumpINTEL",
+          "value" : 5831,
+          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MaxReplicatesINTEL",
+          "value" : 5832,
+          "parameters" : [
+            { "kind" : "LiteralInteger", "name" : "'Maximum Replicates'" }
+          ],
+          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "SimpleDualPortINTEL",
+          "value" : 5833,
+          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "MergeINTEL",
+          "value" : 5834,
+          "parameters" : [
+            { "kind" : "LiteralString", "name" : "'Merge Key'" },
+            { "kind" : "LiteralString", "name" : "'Merge Type'" }
+          ],
+          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "BankBitsINTEL",
+          "value" : 5835,
+          "parameters" : [
+            { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Bank Bits'" }
+          ],
+          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "ForcePow2DepthINTEL",
+          "value" : 5836,
+          "parameters" : [
+            { "kind" : "LiteralInteger", "name" : "'Force Key'" }
+          ],
+          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+          "version" : "None"
         }
       ]
     },
@@ -11157,6 +11468,18 @@
           "extensions" : [ "SPV_INTEL_shader_integer_functions2" ],
           "version" : "None"
         },
+        {
+          "enumerant" : "FunctionPointersINTEL",
+          "value" : 5603,
+          "extensions" : [ "SPV_INTEL_function_pointers" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "IndirectReferencesINTEL",
+          "value" : 5604,
+          "extensions" : [ "SPV_INTEL_function_pointers" ],
+          "version" : "None"
+        },
         {
           "enumerant" : "SubgroupAvcMotionEstimationINTEL",
           "value" : 5696,
@@ -11174,6 +11497,48 @@
           "value" : 5698,
           "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
           "version" : "None"
+        },
+        {
+          "enumerant" : "FPGAMemoryAttributesINTEL",
+          "value" : 5824,
+          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "UnstructuredLoopControlsINTEL",
+          "value" : 5886,
+          "extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "FPGALoopControlsINTEL",
+          "value" : 5888,
+          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "KernelAttributesINTEL",
+          "value" : 5892,
+          "extensions" : [ "SPV_INTEL_kernel_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "FPGAKernelAttributesINTEL",
+          "value" : 5897,
+          "extensions" : [ "SPV_INTEL_kernel_attributes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "BlockingPipesINTEL",
+          "value" : 5945,
+          "extensions" : [ "SPV_INTEL_blocking_pipes" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "FPGARegINTEL",
+          "value" : 5948,
+          "extensions" : [ "SPV_INTEL_fpga_reg" ],
+          "version" : "None"
         }
       ]
     },

+ 47 - 0
3rdparty/spirv-headers/include/spirv/unified1/spirv.cs

@@ -164,6 +164,10 @@ namespace Spv
             SampleInterlockUnorderedEXT = 5369,
             ShadingRateInterlockOrderedEXT = 5370,
             ShadingRateInterlockUnorderedEXT = 5371,
+            MaxWorkgroupSizeINTEL = 5893,
+            MaxWorkDimINTEL = 5894,
+            NoGlobalOffsetINTEL = 5895,
+            NumSIMDWorkitemsINTEL = 5896,
         }
 
         public enum StorageClass
@@ -195,6 +199,7 @@ namespace Spv
             ShaderRecordBufferNV = 5343,
             PhysicalStorageBuffer = 5349,
             PhysicalStorageBufferEXT = 5349,
+            CodeSectionINTEL = 5605,
         }
 
         public enum Dim
@@ -475,11 +480,24 @@ namespace Spv
             RestrictPointerEXT = 5355,
             AliasedPointer = 5356,
             AliasedPointerEXT = 5356,
+            ReferencedIndirectlyINTEL = 5602,
             CounterBuffer = 5634,
             HlslCounterBufferGOOGLE = 5634,
             HlslSemanticGOOGLE = 5635,
             UserSemantic = 5635,
             UserTypeGOOGLE = 5636,
+            RegisterINTEL = 5825,
+            MemoryINTEL = 5826,
+            NumbanksINTEL = 5827,
+            BankwidthINTEL = 5828,
+            MaxPrivateCopiesINTEL = 5829,
+            SinglepumpINTEL = 5830,
+            DoublepumpINTEL = 5831,
+            MaxReplicatesINTEL = 5832,
+            SimpleDualPortINTEL = 5833,
+            MergeINTEL = 5834,
+            BankBitsINTEL = 5835,
+            ForcePow2DepthINTEL = 5836,
         }
 
         public enum BuiltIn
@@ -627,6 +645,13 @@ namespace Spv
             IterationMultiple = 6,
             PeelCount = 7,
             PartialCount = 8,
+            InitiationIntervalINTEL = 16,
+            MaxConcurrencyINTEL = 17,
+            DependencyArrayINTEL = 18,
+            PipelineEnableINTEL = 19,
+            LoopCoalesceINTEL = 20,
+            MaxInterleavingINTEL = 21,
+            SpeculatedIterationsINTEL = 22,
         }
 
         public enum LoopControlMask
@@ -641,6 +666,13 @@ namespace Spv
             IterationMultiple = 0x00000040,
             PeelCount = 0x00000080,
             PartialCount = 0x00000100,
+            InitiationIntervalINTEL = 0x00010000,
+            MaxConcurrencyINTEL = 0x00020000,
+            DependencyArrayINTEL = 0x00040000,
+            PipelineEnableINTEL = 0x00080000,
+            LoopCoalesceINTEL = 0x00100000,
+            MaxInterleavingINTEL = 0x00200000,
+            SpeculatedIterationsINTEL = 0x00400000,
         }
 
         public enum FunctionControlShift
@@ -932,9 +964,18 @@ namespace Spv
             SubgroupImageBlockIOINTEL = 5570,
             SubgroupImageMediaBlockIOINTEL = 5579,
             IntegerFunctions2INTEL = 5584,
+            FunctionPointersINTEL = 5603,
+            IndirectReferencesINTEL = 5604,
             SubgroupAvcMotionEstimationINTEL = 5696,
             SubgroupAvcMotionEstimationIntraINTEL = 5697,
             SubgroupAvcMotionEstimationChromaINTEL = 5698,
+            FPGAMemoryAttributesINTEL = 5824,
+            UnstructuredLoopControlsINTEL = 5886,
+            FPGALoopControlsINTEL = 5888,
+            KernelAttributesINTEL = 5892,
+            FPGAKernelAttributesINTEL = 5897,
+            BlockingPipesINTEL = 5945,
+            FPGARegINTEL = 5948,
         }
 
         public enum RayFlagsShift
@@ -1403,6 +1444,8 @@ namespace Spv
             OpUSubSatINTEL = 5596,
             OpIMul32x16INTEL = 5597,
             OpUMul32x16INTEL = 5598,
+            OpFunctionPointerINTEL = 5600,
+            OpFunctionPointerCallINTEL = 5601,
             OpDecorateString = 5632,
             OpDecorateStringGOOGLE = 5632,
             OpMemberDecorateString = 5633,
@@ -1525,6 +1568,10 @@ namespace Spv
             OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
             OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
             OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+            OpLoopControlINTEL = 5887,
+            OpReadPipeBlockingINTEL = 5946,
+            OpWritePipeBlockingINTEL = 5947,
+            OpFPGARegINTEL = 5949,
             OpRayQueryGetRayTMinKHR = 6016,
             OpRayQueryGetRayFlagsKHR = 6017,
             OpRayQueryGetIntersectionTKHR = 6018,

+ 53 - 0
3rdparty/spirv-headers/include/spirv/unified1/spirv.h

@@ -172,6 +172,10 @@ typedef enum SpvExecutionMode_ {
     SpvExecutionModeSampleInterlockUnorderedEXT = 5369,
     SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,
     SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,
+    SpvExecutionModeMaxWorkgroupSizeINTEL = 5893,
+    SpvExecutionModeMaxWorkDimINTEL = 5894,
+    SpvExecutionModeNoGlobalOffsetINTEL = 5895,
+    SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
     SpvExecutionModeMax = 0x7fffffff,
 } SpvExecutionMode;
 
@@ -203,6 +207,7 @@ typedef enum SpvStorageClass_ {
     SpvStorageClassShaderRecordBufferNV = 5343,
     SpvStorageClassPhysicalStorageBuffer = 5349,
     SpvStorageClassPhysicalStorageBufferEXT = 5349,
+    SpvStorageClassCodeSectionINTEL = 5605,
     SpvStorageClassMax = 0x7fffffff,
 } SpvStorageClass;
 
@@ -481,11 +486,24 @@ typedef enum SpvDecoration_ {
     SpvDecorationRestrictPointerEXT = 5355,
     SpvDecorationAliasedPointer = 5356,
     SpvDecorationAliasedPointerEXT = 5356,
+    SpvDecorationReferencedIndirectlyINTEL = 5602,
     SpvDecorationCounterBuffer = 5634,
     SpvDecorationHlslCounterBufferGOOGLE = 5634,
     SpvDecorationHlslSemanticGOOGLE = 5635,
     SpvDecorationUserSemantic = 5635,
     SpvDecorationUserTypeGOOGLE = 5636,
+    SpvDecorationRegisterINTEL = 5825,
+    SpvDecorationMemoryINTEL = 5826,
+    SpvDecorationNumbanksINTEL = 5827,
+    SpvDecorationBankwidthINTEL = 5828,
+    SpvDecorationMaxPrivateCopiesINTEL = 5829,
+    SpvDecorationSinglepumpINTEL = 5830,
+    SpvDecorationDoublepumpINTEL = 5831,
+    SpvDecorationMaxReplicatesINTEL = 5832,
+    SpvDecorationSimpleDualPortINTEL = 5833,
+    SpvDecorationMergeINTEL = 5834,
+    SpvDecorationBankBitsINTEL = 5835,
+    SpvDecorationForcePow2DepthINTEL = 5836,
     SpvDecorationMax = 0x7fffffff,
 } SpvDecoration;
 
@@ -632,6 +650,13 @@ typedef enum SpvLoopControlShift_ {
     SpvLoopControlIterationMultipleShift = 6,
     SpvLoopControlPeelCountShift = 7,
     SpvLoopControlPartialCountShift = 8,
+    SpvLoopControlInitiationIntervalINTELShift = 16,
+    SpvLoopControlMaxConcurrencyINTELShift = 17,
+    SpvLoopControlDependencyArrayINTELShift = 18,
+    SpvLoopControlPipelineEnableINTELShift = 19,
+    SpvLoopControlLoopCoalesceINTELShift = 20,
+    SpvLoopControlMaxInterleavingINTELShift = 21,
+    SpvLoopControlSpeculatedIterationsINTELShift = 22,
     SpvLoopControlMax = 0x7fffffff,
 } SpvLoopControlShift;
 
@@ -646,6 +671,13 @@ typedef enum SpvLoopControlMask_ {
     SpvLoopControlIterationMultipleMask = 0x00000040,
     SpvLoopControlPeelCountMask = 0x00000080,
     SpvLoopControlPartialCountMask = 0x00000100,
+    SpvLoopControlInitiationIntervalINTELMask = 0x00010000,
+    SpvLoopControlMaxConcurrencyINTELMask = 0x00020000,
+    SpvLoopControlDependencyArrayINTELMask = 0x00040000,
+    SpvLoopControlPipelineEnableINTELMask = 0x00080000,
+    SpvLoopControlLoopCoalesceINTELMask = 0x00100000,
+    SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
+    SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
 } SpvLoopControlMask;
 
 typedef enum SpvFunctionControlShift_ {
@@ -932,9 +964,18 @@ typedef enum SpvCapability_ {
     SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
     SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
     SpvCapabilityIntegerFunctions2INTEL = 5584,
+    SpvCapabilityFunctionPointersINTEL = 5603,
+    SpvCapabilityIndirectReferencesINTEL = 5604,
     SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
     SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
     SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
+    SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
+    SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
+    SpvCapabilityFPGALoopControlsINTEL = 5888,
+    SpvCapabilityKernelAttributesINTEL = 5892,
+    SpvCapabilityFPGAKernelAttributesINTEL = 5897,
+    SpvCapabilityBlockingPipesINTEL = 5945,
+    SpvCapabilityFPGARegINTEL = 5948,
     SpvCapabilityMax = 0x7fffffff,
 } SpvCapability;
 
@@ -1402,6 +1443,8 @@ typedef enum SpvOp_ {
     SpvOpUSubSatINTEL = 5596,
     SpvOpIMul32x16INTEL = 5597,
     SpvOpUMul32x16INTEL = 5598,
+    SpvOpFunctionPointerINTEL = 5600,
+    SpvOpFunctionPointerCallINTEL = 5601,
     SpvOpDecorateString = 5632,
     SpvOpDecorateStringGOOGLE = 5632,
     SpvOpMemberDecorateString = 5633,
@@ -1524,6 +1567,10 @@ typedef enum SpvOp_ {
     SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
     SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
     SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+    SpvOpLoopControlINTEL = 5887,
+    SpvOpReadPipeBlockingINTEL = 5946,
+    SpvOpWritePipeBlockingINTEL = 5947,
+    SpvOpFPGARegINTEL = 5949,
     SpvOpRayQueryGetRayTMinKHR = 6016,
     SpvOpRayQueryGetRayFlagsKHR = 6017,
     SpvOpRayQueryGetIntersectionTKHR = 6018,
@@ -1959,6 +2006,8 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
     case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
+    case SpvOpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
+    case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
     case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
     case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2079,6 +2128,10 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
     case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
+    case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
+    case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+    case SpvOpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+    case SpvOpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
     case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
     case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;

+ 53 - 0
3rdparty/spirv-headers/include/spirv/unified1/spirv.hpp

@@ -168,6 +168,10 @@ enum ExecutionMode {
     ExecutionModeSampleInterlockUnorderedEXT = 5369,
     ExecutionModeShadingRateInterlockOrderedEXT = 5370,
     ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
+    ExecutionModeMaxWorkgroupSizeINTEL = 5893,
+    ExecutionModeMaxWorkDimINTEL = 5894,
+    ExecutionModeNoGlobalOffsetINTEL = 5895,
+    ExecutionModeNumSIMDWorkitemsINTEL = 5896,
     ExecutionModeMax = 0x7fffffff,
 };
 
@@ -199,6 +203,7 @@ enum StorageClass {
     StorageClassShaderRecordBufferNV = 5343,
     StorageClassPhysicalStorageBuffer = 5349,
     StorageClassPhysicalStorageBufferEXT = 5349,
+    StorageClassCodeSectionINTEL = 5605,
     StorageClassMax = 0x7fffffff,
 };
 
@@ -477,11 +482,24 @@ enum Decoration {
     DecorationRestrictPointerEXT = 5355,
     DecorationAliasedPointer = 5356,
     DecorationAliasedPointerEXT = 5356,
+    DecorationReferencedIndirectlyINTEL = 5602,
     DecorationCounterBuffer = 5634,
     DecorationHlslCounterBufferGOOGLE = 5634,
     DecorationHlslSemanticGOOGLE = 5635,
     DecorationUserSemantic = 5635,
     DecorationUserTypeGOOGLE = 5636,
+    DecorationRegisterINTEL = 5825,
+    DecorationMemoryINTEL = 5826,
+    DecorationNumbanksINTEL = 5827,
+    DecorationBankwidthINTEL = 5828,
+    DecorationMaxPrivateCopiesINTEL = 5829,
+    DecorationSinglepumpINTEL = 5830,
+    DecorationDoublepumpINTEL = 5831,
+    DecorationMaxReplicatesINTEL = 5832,
+    DecorationSimpleDualPortINTEL = 5833,
+    DecorationMergeINTEL = 5834,
+    DecorationBankBitsINTEL = 5835,
+    DecorationForcePow2DepthINTEL = 5836,
     DecorationMax = 0x7fffffff,
 };
 
@@ -628,6 +646,13 @@ enum LoopControlShift {
     LoopControlIterationMultipleShift = 6,
     LoopControlPeelCountShift = 7,
     LoopControlPartialCountShift = 8,
+    LoopControlInitiationIntervalINTELShift = 16,
+    LoopControlMaxConcurrencyINTELShift = 17,
+    LoopControlDependencyArrayINTELShift = 18,
+    LoopControlPipelineEnableINTELShift = 19,
+    LoopControlLoopCoalesceINTELShift = 20,
+    LoopControlMaxInterleavingINTELShift = 21,
+    LoopControlSpeculatedIterationsINTELShift = 22,
     LoopControlMax = 0x7fffffff,
 };
 
@@ -642,6 +667,13 @@ enum LoopControlMask {
     LoopControlIterationMultipleMask = 0x00000040,
     LoopControlPeelCountMask = 0x00000080,
     LoopControlPartialCountMask = 0x00000100,
+    LoopControlInitiationIntervalINTELMask = 0x00010000,
+    LoopControlMaxConcurrencyINTELMask = 0x00020000,
+    LoopControlDependencyArrayINTELMask = 0x00040000,
+    LoopControlPipelineEnableINTELMask = 0x00080000,
+    LoopControlLoopCoalesceINTELMask = 0x00100000,
+    LoopControlMaxInterleavingINTELMask = 0x00200000,
+    LoopControlSpeculatedIterationsINTELMask = 0x00400000,
 };
 
 enum FunctionControlShift {
@@ -928,9 +960,18 @@ enum Capability {
     CapabilitySubgroupImageBlockIOINTEL = 5570,
     CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
     CapabilityIntegerFunctions2INTEL = 5584,
+    CapabilityFunctionPointersINTEL = 5603,
+    CapabilityIndirectReferencesINTEL = 5604,
     CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
     CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
     CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
+    CapabilityFPGAMemoryAttributesINTEL = 5824,
+    CapabilityUnstructuredLoopControlsINTEL = 5886,
+    CapabilityFPGALoopControlsINTEL = 5888,
+    CapabilityKernelAttributesINTEL = 5892,
+    CapabilityFPGAKernelAttributesINTEL = 5897,
+    CapabilityBlockingPipesINTEL = 5945,
+    CapabilityFPGARegINTEL = 5948,
     CapabilityMax = 0x7fffffff,
 };
 
@@ -1398,6 +1439,8 @@ enum Op {
     OpUSubSatINTEL = 5596,
     OpIMul32x16INTEL = 5597,
     OpUMul32x16INTEL = 5598,
+    OpFunctionPointerINTEL = 5600,
+    OpFunctionPointerCallINTEL = 5601,
     OpDecorateString = 5632,
     OpDecorateStringGOOGLE = 5632,
     OpMemberDecorateString = 5633,
@@ -1520,6 +1563,10 @@ enum Op {
     OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
     OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
     OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+    OpLoopControlINTEL = 5887,
+    OpReadPipeBlockingINTEL = 5946,
+    OpWritePipeBlockingINTEL = 5947,
+    OpFPGARegINTEL = 5949,
     OpRayQueryGetRayTMinKHR = 6016,
     OpRayQueryGetRayFlagsKHR = 6017,
     OpRayQueryGetIntersectionTKHR = 6018,
@@ -1955,6 +2002,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
     case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
     case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
     case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
+    case OpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
+    case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
     case OpDecorateString: *hasResult = false; *hasResultType = false; break;
     case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
     case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2075,6 +2124,10 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
     case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
     case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
     case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
+    case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
+    case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+    case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+    case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
     case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
     case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
     case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;

+ 53 - 0
3rdparty/spirv-headers/include/spirv/unified1/spirv.hpp11

@@ -168,6 +168,10 @@ enum class ExecutionMode : unsigned {
     SampleInterlockUnorderedEXT = 5369,
     ShadingRateInterlockOrderedEXT = 5370,
     ShadingRateInterlockUnorderedEXT = 5371,
+    MaxWorkgroupSizeINTEL = 5893,
+    MaxWorkDimINTEL = 5894,
+    NoGlobalOffsetINTEL = 5895,
+    NumSIMDWorkitemsINTEL = 5896,
     Max = 0x7fffffff,
 };
 
@@ -199,6 +203,7 @@ enum class StorageClass : unsigned {
     ShaderRecordBufferNV = 5343,
     PhysicalStorageBuffer = 5349,
     PhysicalStorageBufferEXT = 5349,
+    CodeSectionINTEL = 5605,
     Max = 0x7fffffff,
 };
 
@@ -477,11 +482,24 @@ enum class Decoration : unsigned {
     RestrictPointerEXT = 5355,
     AliasedPointer = 5356,
     AliasedPointerEXT = 5356,
+    ReferencedIndirectlyINTEL = 5602,
     CounterBuffer = 5634,
     HlslCounterBufferGOOGLE = 5634,
     HlslSemanticGOOGLE = 5635,
     UserSemantic = 5635,
     UserTypeGOOGLE = 5636,
+    RegisterINTEL = 5825,
+    MemoryINTEL = 5826,
+    NumbanksINTEL = 5827,
+    BankwidthINTEL = 5828,
+    MaxPrivateCopiesINTEL = 5829,
+    SinglepumpINTEL = 5830,
+    DoublepumpINTEL = 5831,
+    MaxReplicatesINTEL = 5832,
+    SimpleDualPortINTEL = 5833,
+    MergeINTEL = 5834,
+    BankBitsINTEL = 5835,
+    ForcePow2DepthINTEL = 5836,
     Max = 0x7fffffff,
 };
 
@@ -628,6 +646,13 @@ enum class LoopControlShift : unsigned {
     IterationMultiple = 6,
     PeelCount = 7,
     PartialCount = 8,
+    InitiationIntervalINTEL = 16,
+    MaxConcurrencyINTEL = 17,
+    DependencyArrayINTEL = 18,
+    PipelineEnableINTEL = 19,
+    LoopCoalesceINTEL = 20,
+    MaxInterleavingINTEL = 21,
+    SpeculatedIterationsINTEL = 22,
     Max = 0x7fffffff,
 };
 
@@ -642,6 +667,13 @@ enum class LoopControlMask : unsigned {
     IterationMultiple = 0x00000040,
     PeelCount = 0x00000080,
     PartialCount = 0x00000100,
+    InitiationIntervalINTEL = 0x00010000,
+    MaxConcurrencyINTEL = 0x00020000,
+    DependencyArrayINTEL = 0x00040000,
+    PipelineEnableINTEL = 0x00080000,
+    LoopCoalesceINTEL = 0x00100000,
+    MaxInterleavingINTEL = 0x00200000,
+    SpeculatedIterationsINTEL = 0x00400000,
 };
 
 enum class FunctionControlShift : unsigned {
@@ -928,9 +960,18 @@ enum class Capability : unsigned {
     SubgroupImageBlockIOINTEL = 5570,
     SubgroupImageMediaBlockIOINTEL = 5579,
     IntegerFunctions2INTEL = 5584,
+    FunctionPointersINTEL = 5603,
+    IndirectReferencesINTEL = 5604,
     SubgroupAvcMotionEstimationINTEL = 5696,
     SubgroupAvcMotionEstimationIntraINTEL = 5697,
     SubgroupAvcMotionEstimationChromaINTEL = 5698,
+    FPGAMemoryAttributesINTEL = 5824,
+    UnstructuredLoopControlsINTEL = 5886,
+    FPGALoopControlsINTEL = 5888,
+    KernelAttributesINTEL = 5892,
+    FPGAKernelAttributesINTEL = 5897,
+    BlockingPipesINTEL = 5945,
+    FPGARegINTEL = 5948,
     Max = 0x7fffffff,
 };
 
@@ -1398,6 +1439,8 @@ enum class Op : unsigned {
     OpUSubSatINTEL = 5596,
     OpIMul32x16INTEL = 5597,
     OpUMul32x16INTEL = 5598,
+    OpFunctionPointerINTEL = 5600,
+    OpFunctionPointerCallINTEL = 5601,
     OpDecorateString = 5632,
     OpDecorateStringGOOGLE = 5632,
     OpMemberDecorateString = 5633,
@@ -1520,6 +1563,10 @@ enum class Op : unsigned {
     OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
     OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
     OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+    OpLoopControlINTEL = 5887,
+    OpReadPipeBlockingINTEL = 5946,
+    OpWritePipeBlockingINTEL = 5947,
+    OpFPGARegINTEL = 5949,
     OpRayQueryGetRayTMinKHR = 6016,
     OpRayQueryGetRayFlagsKHR = 6017,
     OpRayQueryGetIntersectionTKHR = 6018,
@@ -1955,6 +2002,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
     case Op::OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
+    case Op::OpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
+    case Op::OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpDecorateString: *hasResult = false; *hasResultType = false; break;
     case Op::OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
     case Op::OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2075,6 +2124,10 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
     case Op::OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
+    case Op::OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
+    case Op::OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+    case Op::OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+    case Op::OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
     case Op::OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
     case Op::OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;

+ 45 - 5
3rdparty/spirv-headers/include/spirv/unified1/spirv.json

@@ -186,7 +186,11 @@
                     "SampleInterlockOrderedEXT": 5368,
                     "SampleInterlockUnorderedEXT": 5369,
                     "ShadingRateInterlockOrderedEXT": 5370,
-                    "ShadingRateInterlockUnorderedEXT": 5371
+                    "ShadingRateInterlockUnorderedEXT": 5371,
+                    "MaxWorkgroupSizeINTEL": 5893,
+                    "MaxWorkDimINTEL": 5894,
+                    "NoGlobalOffsetINTEL": 5895,
+                    "NumSIMDWorkitemsINTEL": 5896
                 }
             },
             {
@@ -220,7 +224,8 @@
                     "ShaderRecordBufferKHR": 5343,
                     "ShaderRecordBufferNV": 5343,
                     "PhysicalStorageBuffer": 5349,
-                    "PhysicalStorageBufferEXT": 5349
+                    "PhysicalStorageBufferEXT": 5349,
+                    "CodeSectionINTEL": 5605
                 }
             },
             {
@@ -507,11 +512,24 @@
                     "RestrictPointerEXT": 5355,
                     "AliasedPointer": 5356,
                     "AliasedPointerEXT": 5356,
+                    "ReferencedIndirectlyINTEL": 5602,
                     "CounterBuffer": 5634,
                     "HlslCounterBufferGOOGLE": 5634,
                     "HlslSemanticGOOGLE": 5635,
                     "UserSemantic": 5635,
-                    "UserTypeGOOGLE": 5636
+                    "UserTypeGOOGLE": 5636,
+                    "RegisterINTEL": 5825,
+                    "MemoryINTEL": 5826,
+                    "NumbanksINTEL": 5827,
+                    "BankwidthINTEL": 5828,
+                    "MaxPrivateCopiesINTEL": 5829,
+                    "SinglepumpINTEL": 5830,
+                    "DoublepumpINTEL": 5831,
+                    "MaxReplicatesINTEL": 5832,
+                    "SimpleDualPortINTEL": 5833,
+                    "MergeINTEL": 5834,
+                    "BankBitsINTEL": 5835,
+                    "ForcePow2DepthINTEL": 5836
                 }
             },
             {
@@ -660,7 +678,14 @@
                     "MaxIterations": 5,
                     "IterationMultiple": 6,
                     "PeelCount": 7,
-                    "PartialCount": 8
+                    "PartialCount": 8,
+                    "InitiationIntervalINTEL": 16,
+                    "MaxConcurrencyINTEL": 17,
+                    "DependencyArrayINTEL": 18,
+                    "PipelineEnableINTEL": 19,
+                    "LoopCoalesceINTEL": 20,
+                    "MaxInterleavingINTEL": 21,
+                    "SpeculatedIterationsINTEL": 22
                 }
             },
             {
@@ -925,9 +950,18 @@
                     "SubgroupImageBlockIOINTEL": 5570,
                     "SubgroupImageMediaBlockIOINTEL": 5579,
                     "IntegerFunctions2INTEL": 5584,
+                    "FunctionPointersINTEL": 5603,
+                    "IndirectReferencesINTEL": 5604,
                     "SubgroupAvcMotionEstimationINTEL": 5696,
                     "SubgroupAvcMotionEstimationIntraINTEL": 5697,
-                    "SubgroupAvcMotionEstimationChromaINTEL": 5698
+                    "SubgroupAvcMotionEstimationChromaINTEL": 5698,
+                    "FPGAMemoryAttributesINTEL": 5824,
+                    "UnstructuredLoopControlsINTEL": 5886,
+                    "FPGALoopControlsINTEL": 5888,
+                    "KernelAttributesINTEL": 5892,
+                    "FPGAKernelAttributesINTEL": 5897,
+                    "BlockingPipesINTEL": 5945,
+                    "FPGARegINTEL": 5948
                 }
             },
             {
@@ -1396,6 +1430,8 @@
                     "OpUSubSatINTEL": 5596,
                     "OpIMul32x16INTEL": 5597,
                     "OpUMul32x16INTEL": 5598,
+                    "OpFunctionPointerINTEL": 5600,
+                    "OpFunctionPointerCallINTEL": 5601,
                     "OpDecorateString": 5632,
                     "OpDecorateStringGOOGLE": 5632,
                     "OpMemberDecorateString": 5633,
@@ -1518,6 +1554,10 @@
                     "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL": 5814,
                     "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL": 5815,
                     "OpSubgroupAvcSicGetInterRawSadsINTEL": 5816,
+                    "OpLoopControlINTEL": 5887,
+                    "OpReadPipeBlockingINTEL": 5946,
+                    "OpWritePipeBlockingINTEL": 5947,
+                    "OpFPGARegINTEL": 5949,
                     "OpRayQueryGetRayTMinKHR": 6016,
                     "OpRayQueryGetRayFlagsKHR": 6017,
                     "OpRayQueryGetIntersectionTKHR": 6018,

+ 47 - 0
3rdparty/spirv-headers/include/spirv/unified1/spirv.lua

@@ -155,6 +155,10 @@ spv = {
         SampleInterlockUnorderedEXT = 5369,
         ShadingRateInterlockOrderedEXT = 5370,
         ShadingRateInterlockUnorderedEXT = 5371,
+        MaxWorkgroupSizeINTEL = 5893,
+        MaxWorkDimINTEL = 5894,
+        NoGlobalOffsetINTEL = 5895,
+        NumSIMDWorkitemsINTEL = 5896,
     },
 
     StorageClass = {
@@ -185,6 +189,7 @@ spv = {
         ShaderRecordBufferNV = 5343,
         PhysicalStorageBuffer = 5349,
         PhysicalStorageBufferEXT = 5349,
+        CodeSectionINTEL = 5605,
     },
 
     Dim = {
@@ -450,11 +455,24 @@ spv = {
         RestrictPointerEXT = 5355,
         AliasedPointer = 5356,
         AliasedPointerEXT = 5356,
+        ReferencedIndirectlyINTEL = 5602,
         CounterBuffer = 5634,
         HlslCounterBufferGOOGLE = 5634,
         HlslSemanticGOOGLE = 5635,
         UserSemantic = 5635,
         UserTypeGOOGLE = 5636,
+        RegisterINTEL = 5825,
+        MemoryINTEL = 5826,
+        NumbanksINTEL = 5827,
+        BankwidthINTEL = 5828,
+        MaxPrivateCopiesINTEL = 5829,
+        SinglepumpINTEL = 5830,
+        DoublepumpINTEL = 5831,
+        MaxReplicatesINTEL = 5832,
+        SimpleDualPortINTEL = 5833,
+        MergeINTEL = 5834,
+        BankBitsINTEL = 5835,
+        ForcePow2DepthINTEL = 5836,
     },
 
     BuiltIn = {
@@ -598,6 +616,13 @@ spv = {
         IterationMultiple = 6,
         PeelCount = 7,
         PartialCount = 8,
+        InitiationIntervalINTEL = 16,
+        MaxConcurrencyINTEL = 17,
+        DependencyArrayINTEL = 18,
+        PipelineEnableINTEL = 19,
+        LoopCoalesceINTEL = 20,
+        MaxInterleavingINTEL = 21,
+        SpeculatedIterationsINTEL = 22,
     },
 
     LoopControlMask = {
@@ -611,6 +636,13 @@ spv = {
         IterationMultiple = 0x00000040,
         PeelCount = 0x00000080,
         PartialCount = 0x00000100,
+        InitiationIntervalINTEL = 0x00010000,
+        MaxConcurrencyINTEL = 0x00020000,
+        DependencyArrayINTEL = 0x00040000,
+        PipelineEnableINTEL = 0x00080000,
+        LoopCoalesceINTEL = 0x00100000,
+        MaxInterleavingINTEL = 0x00200000,
+        SpeculatedIterationsINTEL = 0x00400000,
     },
 
     FunctionControlShift = {
@@ -890,9 +922,18 @@ spv = {
         SubgroupImageBlockIOINTEL = 5570,
         SubgroupImageMediaBlockIOINTEL = 5579,
         IntegerFunctions2INTEL = 5584,
+        FunctionPointersINTEL = 5603,
+        IndirectReferencesINTEL = 5604,
         SubgroupAvcMotionEstimationINTEL = 5696,
         SubgroupAvcMotionEstimationIntraINTEL = 5697,
         SubgroupAvcMotionEstimationChromaINTEL = 5698,
+        FPGAMemoryAttributesINTEL = 5824,
+        UnstructuredLoopControlsINTEL = 5886,
+        FPGALoopControlsINTEL = 5888,
+        KernelAttributesINTEL = 5892,
+        FPGAKernelAttributesINTEL = 5897,
+        BlockingPipesINTEL = 5945,
+        FPGARegINTEL = 5948,
     },
 
     RayFlagsShift = {
@@ -1355,6 +1396,8 @@ spv = {
         OpUSubSatINTEL = 5596,
         OpIMul32x16INTEL = 5597,
         OpUMul32x16INTEL = 5598,
+        OpFunctionPointerINTEL = 5600,
+        OpFunctionPointerCallINTEL = 5601,
         OpDecorateString = 5632,
         OpDecorateStringGOOGLE = 5632,
         OpMemberDecorateString = 5633,
@@ -1477,6 +1520,10 @@ spv = {
         OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
         OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
         OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+        OpLoopControlINTEL = 5887,
+        OpReadPipeBlockingINTEL = 5946,
+        OpWritePipeBlockingINTEL = 5947,
+        OpFPGARegINTEL = 5949,
         OpRayQueryGetRayTMinKHR = 6016,
         OpRayQueryGetRayFlagsKHR = 6017,
         OpRayQueryGetIntersectionTKHR = 6018,

+ 47 - 0
3rdparty/spirv-headers/include/spirv/unified1/spirv.py

@@ -155,6 +155,10 @@ spv = {
         'SampleInterlockUnorderedEXT' : 5369,
         'ShadingRateInterlockOrderedEXT' : 5370,
         'ShadingRateInterlockUnorderedEXT' : 5371,
+        'MaxWorkgroupSizeINTEL' : 5893,
+        'MaxWorkDimINTEL' : 5894,
+        'NoGlobalOffsetINTEL' : 5895,
+        'NumSIMDWorkitemsINTEL' : 5896,
     },
 
     'StorageClass' : {
@@ -185,6 +189,7 @@ spv = {
         'ShaderRecordBufferNV' : 5343,
         'PhysicalStorageBuffer' : 5349,
         'PhysicalStorageBufferEXT' : 5349,
+        'CodeSectionINTEL' : 5605,
     },
 
     'Dim' : {
@@ -450,11 +455,24 @@ spv = {
         'RestrictPointerEXT' : 5355,
         'AliasedPointer' : 5356,
         'AliasedPointerEXT' : 5356,
+        'ReferencedIndirectlyINTEL' : 5602,
         'CounterBuffer' : 5634,
         'HlslCounterBufferGOOGLE' : 5634,
         'HlslSemanticGOOGLE' : 5635,
         'UserSemantic' : 5635,
         'UserTypeGOOGLE' : 5636,
+        'RegisterINTEL' : 5825,
+        'MemoryINTEL' : 5826,
+        'NumbanksINTEL' : 5827,
+        'BankwidthINTEL' : 5828,
+        'MaxPrivateCopiesINTEL' : 5829,
+        'SinglepumpINTEL' : 5830,
+        'DoublepumpINTEL' : 5831,
+        'MaxReplicatesINTEL' : 5832,
+        'SimpleDualPortINTEL' : 5833,
+        'MergeINTEL' : 5834,
+        'BankBitsINTEL' : 5835,
+        'ForcePow2DepthINTEL' : 5836,
     },
 
     'BuiltIn' : {
@@ -598,6 +616,13 @@ spv = {
         'IterationMultiple' : 6,
         'PeelCount' : 7,
         'PartialCount' : 8,
+        'InitiationIntervalINTEL' : 16,
+        'MaxConcurrencyINTEL' : 17,
+        'DependencyArrayINTEL' : 18,
+        'PipelineEnableINTEL' : 19,
+        'LoopCoalesceINTEL' : 20,
+        'MaxInterleavingINTEL' : 21,
+        'SpeculatedIterationsINTEL' : 22,
     },
 
     'LoopControlMask' : {
@@ -611,6 +636,13 @@ spv = {
         'IterationMultiple' : 0x00000040,
         'PeelCount' : 0x00000080,
         'PartialCount' : 0x00000100,
+        'InitiationIntervalINTEL' : 0x00010000,
+        'MaxConcurrencyINTEL' : 0x00020000,
+        'DependencyArrayINTEL' : 0x00040000,
+        'PipelineEnableINTEL' : 0x00080000,
+        'LoopCoalesceINTEL' : 0x00100000,
+        'MaxInterleavingINTEL' : 0x00200000,
+        'SpeculatedIterationsINTEL' : 0x00400000,
     },
 
     'FunctionControlShift' : {
@@ -890,9 +922,18 @@ spv = {
         'SubgroupImageBlockIOINTEL' : 5570,
         'SubgroupImageMediaBlockIOINTEL' : 5579,
         'IntegerFunctions2INTEL' : 5584,
+        'FunctionPointersINTEL' : 5603,
+        'IndirectReferencesINTEL' : 5604,
         'SubgroupAvcMotionEstimationINTEL' : 5696,
         'SubgroupAvcMotionEstimationIntraINTEL' : 5697,
         'SubgroupAvcMotionEstimationChromaINTEL' : 5698,
+        'FPGAMemoryAttributesINTEL' : 5824,
+        'UnstructuredLoopControlsINTEL' : 5886,
+        'FPGALoopControlsINTEL' : 5888,
+        'KernelAttributesINTEL' : 5892,
+        'FPGAKernelAttributesINTEL' : 5897,
+        'BlockingPipesINTEL' : 5945,
+        'FPGARegINTEL' : 5948,
     },
 
     'RayFlagsShift' : {
@@ -1355,6 +1396,8 @@ spv = {
         'OpUSubSatINTEL' : 5596,
         'OpIMul32x16INTEL' : 5597,
         'OpUMul32x16INTEL' : 5598,
+        'OpFunctionPointerINTEL' : 5600,
+        'OpFunctionPointerCallINTEL' : 5601,
         'OpDecorateString' : 5632,
         'OpDecorateStringGOOGLE' : 5632,
         'OpMemberDecorateString' : 5633,
@@ -1477,6 +1520,10 @@ spv = {
         'OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL' : 5814,
         'OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL' : 5815,
         'OpSubgroupAvcSicGetInterRawSadsINTEL' : 5816,
+        'OpLoopControlINTEL' : 5887,
+        'OpReadPipeBlockingINTEL' : 5946,
+        'OpWritePipeBlockingINTEL' : 5947,
+        'OpFPGARegINTEL' : 5949,
         'OpRayQueryGetRayTMinKHR' : 6016,
         'OpRayQueryGetRayFlagsKHR' : 6017,
         'OpRayQueryGetIntersectionTKHR' : 6018,

+ 47 - 0
3rdparty/spirv-headers/include/spirv/unified1/spv.d

@@ -167,6 +167,10 @@ enum ExecutionMode : uint
     SampleInterlockUnorderedEXT = 5369,
     ShadingRateInterlockOrderedEXT = 5370,
     ShadingRateInterlockUnorderedEXT = 5371,
+    MaxWorkgroupSizeINTEL = 5893,
+    MaxWorkDimINTEL = 5894,
+    NoGlobalOffsetINTEL = 5895,
+    NumSIMDWorkitemsINTEL = 5896,
 }
 
 enum StorageClass : uint
@@ -198,6 +202,7 @@ enum StorageClass : uint
     ShaderRecordBufferNV = 5343,
     PhysicalStorageBuffer = 5349,
     PhysicalStorageBufferEXT = 5349,
+    CodeSectionINTEL = 5605,
 }
 
 enum Dim : uint
@@ -478,11 +483,24 @@ enum Decoration : uint
     RestrictPointerEXT = 5355,
     AliasedPointer = 5356,
     AliasedPointerEXT = 5356,
+    ReferencedIndirectlyINTEL = 5602,
     CounterBuffer = 5634,
     HlslCounterBufferGOOGLE = 5634,
     HlslSemanticGOOGLE = 5635,
     UserSemantic = 5635,
     UserTypeGOOGLE = 5636,
+    RegisterINTEL = 5825,
+    MemoryINTEL = 5826,
+    NumbanksINTEL = 5827,
+    BankwidthINTEL = 5828,
+    MaxPrivateCopiesINTEL = 5829,
+    SinglepumpINTEL = 5830,
+    DoublepumpINTEL = 5831,
+    MaxReplicatesINTEL = 5832,
+    SimpleDualPortINTEL = 5833,
+    MergeINTEL = 5834,
+    BankBitsINTEL = 5835,
+    ForcePow2DepthINTEL = 5836,
 }
 
 enum BuiltIn : uint
@@ -630,6 +648,13 @@ enum LoopControlShift : uint
     IterationMultiple = 6,
     PeelCount = 7,
     PartialCount = 8,
+    InitiationIntervalINTEL = 16,
+    MaxConcurrencyINTEL = 17,
+    DependencyArrayINTEL = 18,
+    PipelineEnableINTEL = 19,
+    LoopCoalesceINTEL = 20,
+    MaxInterleavingINTEL = 21,
+    SpeculatedIterationsINTEL = 22,
 }
 
 enum LoopControlMask : uint
@@ -644,6 +669,13 @@ enum LoopControlMask : uint
     IterationMultiple = 0x00000040,
     PeelCount = 0x00000080,
     PartialCount = 0x00000100,
+    InitiationIntervalINTEL = 0x00010000,
+    MaxConcurrencyINTEL = 0x00020000,
+    DependencyArrayINTEL = 0x00040000,
+    PipelineEnableINTEL = 0x00080000,
+    LoopCoalesceINTEL = 0x00100000,
+    MaxInterleavingINTEL = 0x00200000,
+    SpeculatedIterationsINTEL = 0x00400000,
 }
 
 enum FunctionControlShift : uint
@@ -935,9 +967,18 @@ enum Capability : uint
     SubgroupImageBlockIOINTEL = 5570,
     SubgroupImageMediaBlockIOINTEL = 5579,
     IntegerFunctions2INTEL = 5584,
+    FunctionPointersINTEL = 5603,
+    IndirectReferencesINTEL = 5604,
     SubgroupAvcMotionEstimationINTEL = 5696,
     SubgroupAvcMotionEstimationIntraINTEL = 5697,
     SubgroupAvcMotionEstimationChromaINTEL = 5698,
+    FPGAMemoryAttributesINTEL = 5824,
+    UnstructuredLoopControlsINTEL = 5886,
+    FPGALoopControlsINTEL = 5888,
+    KernelAttributesINTEL = 5892,
+    FPGAKernelAttributesINTEL = 5897,
+    BlockingPipesINTEL = 5945,
+    FPGARegINTEL = 5948,
 }
 
 enum RayFlagsShift : uint
@@ -1406,6 +1447,8 @@ enum Op : uint
     OpUSubSatINTEL = 5596,
     OpIMul32x16INTEL = 5597,
     OpUMul32x16INTEL = 5598,
+    OpFunctionPointerINTEL = 5600,
+    OpFunctionPointerCallINTEL = 5601,
     OpDecorateString = 5632,
     OpDecorateStringGOOGLE = 5632,
     OpMemberDecorateString = 5633,
@@ -1528,6 +1571,10 @@ enum Op : uint
     OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
     OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
     OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+    OpLoopControlINTEL = 5887,
+    OpReadPipeBlockingINTEL = 5946,
+    OpWritePipeBlockingINTEL = 5947,
+    OpFPGARegINTEL = 5949,
     OpRayQueryGetRayTMinKHR = 6016,
     OpRayQueryGetRayFlagsKHR = 6017,
     OpRayQueryGetIntersectionTKHR = 6018,