Бранимир Караџић преди 4 години
родител
ревизия
c255c72ef5

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

@@ -185,6 +185,27 @@
     <ids type="LoopControl" start="31" end="31" vendor="Khronos" comment="Reserved LoopControl bit, not available to vendors"/>
     <ids type="LoopControl" start="31" end="31" vendor="Khronos" comment="Reserved LoopControl bit, not available to vendors"/>
 
 
 
 
+    <!-- SECTION: SPIR-V Function Control Bit Reservations -->
+    <!-- Reserve ranges of bits in the function control 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 function control bits -->
+    <ids type="FunctionControl" start="0" end="15" vendor="Khronos" comment="Reserved FunctionControl bits, not available to vendors - see the SPIR-V Specification"/>
+    <ids type="FunctionControl" start="16" end="16" vendor="Intel" comment="Contact [email protected]"/>
+    <ids type="FunctionControl" start="17" end="30" comment="Unreserved bits reservable for use by vendors"/>
+    <ids type="FunctionControl" start="31" end="31" vendor="Khronos" comment="Reserved FunctionControl bit, not available to vendors"/>
+
+
     <!-- SECTION: SPIR-V FP Fast Math Mode Bit Reservations -->
     <!-- SECTION: SPIR-V FP Fast Math Mode Bit Reservations -->
     <!-- Reserve ranges of bits in the "FP Fast Math Mode" bitfield.
     <!-- Reserve ranges of bits in the "FP Fast Math Mode" bitfield.
          Each vendor determines the use of values in their own ranges.
          Each vendor determines the use of values in their own ranges.

+ 66 - 18
3rdparty/spirv-headers/include/spirv/unified1/spirv.core.grammar.json

@@ -5188,6 +5188,36 @@
       "capabilities" : [ "AsmINTEL" ],
       "capabilities" : [ "AsmINTEL" ],
       "version" : "None"
       "version" : "None"
     },
     },
+    {
+      "opname" : "OpAtomicFMinEXT",
+      "class"  : "Atomic",
+      "opcode" : 5614,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef",             "name" : "'Pointer'" },
+        { "kind" : "IdScope",           "name" : "'Memory'" },
+        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
+        { "kind" : "IdRef",             "name" : "'Value'" }
+      ],
+      "capabilities" : [ "AtomicFloat16MinMaxEXT", "AtomicFloat32MinMaxEXT", "AtomicFloat64MinMaxEXT" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpAtomicFMaxEXT",
+      "class"  : "Atomic",
+      "opcode" : 5615,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef",             "name" : "'Pointer'" },
+        { "kind" : "IdScope",           "name" : "'Memory'" },
+        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
+        { "kind" : "IdRef",             "name" : "'Value'" }
+      ],
+      "capabilities" : [ "AtomicFloat16MinMaxEXT", "AtomicFloat32MinMaxEXT", "AtomicFloat64MinMaxEXT" ],
+      "version" : "None"
+    },
     {
     {
       "opname" : "OpDecorateString",
       "opname" : "OpDecorateString",
       "class"  : "Annotation",
       "class"  : "Annotation",
@@ -10407,55 +10437,55 @@
           "version" : "1.3"
           "version" : "1.3"
         },
         },
         {
         {
-          "enumerant" : "SubgroupGeMask",
-          "value" : 4417,
+          "enumerant" : "SubgroupEqMaskKHR",
+          "value" : 4416,
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
+          "extensions" : [ "SPV_KHR_shader_ballot" ],
           "version" : "1.3"
           "version" : "1.3"
         },
         },
         {
         {
-          "enumerant" : "SubgroupGtMask",
-          "value" : 4418,
+          "enumerant" : "SubgroupGeMask",
+          "value" : 4417,
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
           "version" : "1.3"
           "version" : "1.3"
         },
         },
         {
         {
-          "enumerant" : "SubgroupLeMask",
-          "value" : 4419,
+          "enumerant" : "SubgroupGeMaskKHR",
+          "value" : 4417,
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
+          "extensions" : [ "SPV_KHR_shader_ballot" ],
           "version" : "1.3"
           "version" : "1.3"
         },
         },
         {
         {
-          "enumerant" : "SubgroupLtMask",
-          "value" : 4420,
+          "enumerant" : "SubgroupGtMask",
+          "value" : 4418,
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
           "version" : "1.3"
           "version" : "1.3"
         },
         },
         {
         {
-          "enumerant" : "SubgroupEqMaskKHR",
-          "value" : 4416,
+          "enumerant" : "SubgroupGtMaskKHR",
+          "value" : 4418,
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
           "extensions" : [ "SPV_KHR_shader_ballot" ],
           "extensions" : [ "SPV_KHR_shader_ballot" ],
           "version" : "1.3"
           "version" : "1.3"
         },
         },
         {
         {
-          "enumerant" : "SubgroupGeMaskKHR",
-          "value" : 4417,
+          "enumerant" : "SubgroupLeMask",
+          "value" : 4419,
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
-          "extensions" : [ "SPV_KHR_shader_ballot" ],
           "version" : "1.3"
           "version" : "1.3"
         },
         },
         {
         {
-          "enumerant" : "SubgroupGtMaskKHR",
-          "value" : 4418,
+          "enumerant" : "SubgroupLeMaskKHR",
+          "value" : 4419,
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
           "extensions" : [ "SPV_KHR_shader_ballot" ],
           "extensions" : [ "SPV_KHR_shader_ballot" ],
           "version" : "1.3"
           "version" : "1.3"
         },
         },
         {
         {
-          "enumerant" : "SubgroupLeMaskKHR",
-          "value" : 4419,
+          "enumerant" : "SubgroupLtMask",
+          "value" : 4420,
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
-          "extensions" : [ "SPV_KHR_shader_ballot" ],
           "version" : "1.3"
           "version" : "1.3"
         },
         },
         {
         {
@@ -12062,6 +12092,24 @@
           "extensions" : [ "SPV_INTEL_inline_assembly" ],
           "extensions" : [ "SPV_INTEL_inline_assembly" ],
           "version" : "None"
           "version" : "None"
         },
         },
+        {
+          "enumerant" : "AtomicFloat32MinMaxEXT",
+          "value" : 5612,
+          "extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "AtomicFloat64MinMaxEXT",
+          "value" : 5613,
+          "extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "AtomicFloat16MinMaxEXT",
+          "value" : 5616,
+          "extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ],
+          "version" : "None"
+        },
         {
         {
           "enumerant" : "VectorComputeINTEL",
           "enumerant" : "VectorComputeINTEL",
           "value" : 5617,
           "value" : 5617,

+ 13 - 6
3rdparty/spirv-headers/include/spirv/unified1/spirv.cs

@@ -1014,6 +1014,9 @@ namespace Spv
             FunctionPointersINTEL = 5603,
             FunctionPointersINTEL = 5603,
             IndirectReferencesINTEL = 5604,
             IndirectReferencesINTEL = 5604,
             AsmINTEL = 5606,
             AsmINTEL = 5606,
+            AtomicFloat32MinMaxEXT = 5612,
+            AtomicFloat64MinMaxEXT = 5613,
+            AtomicFloat16MinMaxEXT = 5616,
             VectorComputeINTEL = 5617,
             VectorComputeINTEL = 5617,
             VectorAnyINTEL = 5619,
             VectorAnyINTEL = 5619,
             SubgroupAvcMotionEstimationINTEL = 5696,
             SubgroupAvcMotionEstimationINTEL = 5696,
@@ -1106,14 +1109,16 @@ namespace Spv
             Horizontal4Pixels = 0x00000008,
             Horizontal4Pixels = 0x00000008,
         }
         }
 
 
-        public enum FPDenormMode {
-          Preserve = 0,
-          FlushToZero = 1,
+        public enum FPDenormMode
+        {
+            Preserve = 0,
+            FlushToZero = 1,
         }
         }
 
 
-        public enum FPOperationMode {
-          IEEE = 0,
-          ALT = 1,
+        public enum FPOperationMode
+        {
+            IEEE = 0,
+            ALT = 1,
         }
         }
 
 
         public enum Op
         public enum Op
@@ -1541,6 +1546,8 @@ namespace Spv
             OpAsmTargetINTEL = 5609,
             OpAsmTargetINTEL = 5609,
             OpAsmINTEL = 5610,
             OpAsmINTEL = 5610,
             OpAsmCallINTEL = 5611,
             OpAsmCallINTEL = 5611,
+            OpAtomicFMinEXT = 5614,
+            OpAtomicFMaxEXT = 5615,
             OpDecorateString = 5632,
             OpDecorateString = 5632,
             OpDecorateStringGOOGLE = 5632,
             OpDecorateStringGOOGLE = 5632,
             OpMemberDecorateString = 5633,
             OpMemberDecorateString = 5633,

+ 13 - 6
3rdparty/spirv-headers/include/spirv/unified1/spirv.h

@@ -1014,6 +1014,9 @@ typedef enum SpvCapability_ {
     SpvCapabilityFunctionPointersINTEL = 5603,
     SpvCapabilityFunctionPointersINTEL = 5603,
     SpvCapabilityIndirectReferencesINTEL = 5604,
     SpvCapabilityIndirectReferencesINTEL = 5604,
     SpvCapabilityAsmINTEL = 5606,
     SpvCapabilityAsmINTEL = 5606,
+    SpvCapabilityAtomicFloat32MinMaxEXT = 5612,
+    SpvCapabilityAtomicFloat64MinMaxEXT = 5613,
+    SpvCapabilityAtomicFloat16MinMaxEXT = 5616,
     SpvCapabilityVectorComputeINTEL = 5617,
     SpvCapabilityVectorComputeINTEL = 5617,
     SpvCapabilityVectorAnyINTEL = 5619,
     SpvCapabilityVectorAnyINTEL = 5619,
     SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
     SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
@@ -1106,15 +1109,15 @@ typedef enum SpvFragmentShadingRateMask_ {
 } SpvFragmentShadingRateMask;
 } SpvFragmentShadingRateMask;
 
 
 typedef enum SpvFPDenormMode_ {
 typedef enum SpvFPDenormMode_ {
-  SpvFPDenormModePreserve = 0,
-  SpvFPDenormModeFlushToZero = 1,
-  SpvFPDenormModeMax = 0x7fffffff,
+    SpvFPDenormModePreserve = 0,
+    SpvFPDenormModeFlushToZero = 1,
+    SpvFPDenormModeMax = 0x7fffffff,
 } SpvFPDenormMode;
 } SpvFPDenormMode;
 
 
 typedef enum SpvFPOperationMode_ {
 typedef enum SpvFPOperationMode_ {
-  SpvFPOperationModeIEEE = 0,
-  SpvFPOperationModeALT = 1,
-  SpvFPOperationModeMax = 0x7fffffff,
+    SpvFPOperationModeIEEE = 0,
+    SpvFPOperationModeALT = 1,
+    SpvFPOperationModeMax = 0x7fffffff,
 } SpvFPOperationMode;
 } SpvFPOperationMode;
 
 
 typedef enum SpvOp_ {
 typedef enum SpvOp_ {
@@ -1541,6 +1544,8 @@ typedef enum SpvOp_ {
     SpvOpAsmTargetINTEL = 5609,
     SpvOpAsmTargetINTEL = 5609,
     SpvOpAsmINTEL = 5610,
     SpvOpAsmINTEL = 5610,
     SpvOpAsmCallINTEL = 5611,
     SpvOpAsmCallINTEL = 5611,
+    SpvOpAtomicFMinEXT = 5614,
+    SpvOpAtomicFMaxEXT = 5615,
     SpvOpDecorateString = 5632,
     SpvOpDecorateString = 5632,
     SpvOpDecorateStringGOOGLE = 5632,
     SpvOpDecorateStringGOOGLE = 5632,
     SpvOpMemberDecorateString = 5633,
     SpvOpMemberDecorateString = 5633,
@@ -2123,6 +2128,8 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
     case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
+    case SpvOpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
+    case SpvOpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
     case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
     case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
     case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
     case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
     case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
     case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;

+ 13 - 6
3rdparty/spirv-headers/include/spirv/unified1/spirv.hpp

@@ -1010,6 +1010,9 @@ enum Capability {
     CapabilityFunctionPointersINTEL = 5603,
     CapabilityFunctionPointersINTEL = 5603,
     CapabilityIndirectReferencesINTEL = 5604,
     CapabilityIndirectReferencesINTEL = 5604,
     CapabilityAsmINTEL = 5606,
     CapabilityAsmINTEL = 5606,
+    CapabilityAtomicFloat32MinMaxEXT = 5612,
+    CapabilityAtomicFloat64MinMaxEXT = 5613,
+    CapabilityAtomicFloat16MinMaxEXT = 5616,
     CapabilityVectorComputeINTEL = 5617,
     CapabilityVectorComputeINTEL = 5617,
     CapabilityVectorAnyINTEL = 5619,
     CapabilityVectorAnyINTEL = 5619,
     CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
     CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
@@ -1102,15 +1105,15 @@ enum FragmentShadingRateMask {
 };
 };
 
 
 enum FPDenormMode {
 enum FPDenormMode {
-  FPDenormModePreserve = 0,
-  FPDenormModeFlushToZero = 1,
-  FPDenormModeMax = 0x7fffffff,
+    FPDenormModePreserve = 0,
+    FPDenormModeFlushToZero = 1,
+    FPDenormModeMax = 0x7fffffff,
 };
 };
 
 
 enum FPOperationMode {
 enum FPOperationMode {
-  FPOperationModeIEEE = 0,
-  FPOperationModeALT = 1,
-  FPOperationModeMax = 0x7fffffff,
+    FPOperationModeIEEE = 0,
+    FPOperationModeALT = 1,
+    FPOperationModeMax = 0x7fffffff,
 };
 };
 
 
 enum Op {
 enum Op {
@@ -1537,6 +1540,8 @@ enum Op {
     OpAsmTargetINTEL = 5609,
     OpAsmTargetINTEL = 5609,
     OpAsmINTEL = 5610,
     OpAsmINTEL = 5610,
     OpAsmCallINTEL = 5611,
     OpAsmCallINTEL = 5611,
+    OpAtomicFMinEXT = 5614,
+    OpAtomicFMaxEXT = 5615,
     OpDecorateString = 5632,
     OpDecorateString = 5632,
     OpDecorateStringGOOGLE = 5632,
     OpDecorateStringGOOGLE = 5632,
     OpMemberDecorateString = 5633,
     OpMemberDecorateString = 5633,
@@ -2119,6 +2124,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
     case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
     case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
     case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
     case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
     case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
     case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
+    case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
+    case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
     case OpDecorateString: *hasResult = false; *hasResultType = false; break;
     case OpDecorateString: *hasResult = false; *hasResultType = false; break;
     case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
     case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
     case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
     case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;

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

@@ -1010,6 +1010,9 @@ enum class Capability : unsigned {
     FunctionPointersINTEL = 5603,
     FunctionPointersINTEL = 5603,
     IndirectReferencesINTEL = 5604,
     IndirectReferencesINTEL = 5604,
     AsmINTEL = 5606,
     AsmINTEL = 5606,
+    AtomicFloat32MinMaxEXT = 5612,
+    AtomicFloat64MinMaxEXT = 5613,
+    AtomicFloat16MinMaxEXT = 5616,
     VectorComputeINTEL = 5617,
     VectorComputeINTEL = 5617,
     VectorAnyINTEL = 5619,
     VectorAnyINTEL = 5619,
     SubgroupAvcMotionEstimationINTEL = 5696,
     SubgroupAvcMotionEstimationINTEL = 5696,
@@ -1537,6 +1540,8 @@ enum class Op : unsigned {
     OpAsmTargetINTEL = 5609,
     OpAsmTargetINTEL = 5609,
     OpAsmINTEL = 5610,
     OpAsmINTEL = 5610,
     OpAsmCallINTEL = 5611,
     OpAsmCallINTEL = 5611,
+    OpAtomicFMinEXT = 5614,
+    OpAtomicFMaxEXT = 5615,
     OpDecorateString = 5632,
     OpDecorateString = 5632,
     OpDecorateStringGOOGLE = 5632,
     OpDecorateStringGOOGLE = 5632,
     OpMemberDecorateString = 5633,
     OpMemberDecorateString = 5633,
@@ -2119,6 +2124,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
     case Op::OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
+    case Op::OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
+    case Op::OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
     case Op::OpDecorateString: *hasResult = false; *hasResultType = false; break;
     case Op::OpDecorateString: *hasResult = false; *hasResultType = false; break;
     case Op::OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
     case Op::OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
     case Op::OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
     case Op::OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;

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

@@ -997,6 +997,9 @@
                     "FunctionPointersINTEL": 5603,
                     "FunctionPointersINTEL": 5603,
                     "IndirectReferencesINTEL": 5604,
                     "IndirectReferencesINTEL": 5604,
                     "AsmINTEL": 5606,
                     "AsmINTEL": 5606,
+                    "AtomicFloat32MinMaxEXT": 5612,
+                    "AtomicFloat64MinMaxEXT": 5613,
+                    "AtomicFloat16MinMaxEXT": 5616,
                     "VectorComputeINTEL": 5617,
                     "VectorComputeINTEL": 5617,
                     "VectorAnyINTEL": 5619,
                     "VectorAnyINTEL": 5619,
                     "SubgroupAvcMotionEstimationINTEL": 5696,
                     "SubgroupAvcMotionEstimationINTEL": 5696,
@@ -1526,6 +1529,8 @@
                     "OpAsmTargetINTEL": 5609,
                     "OpAsmTargetINTEL": 5609,
                     "OpAsmINTEL": 5610,
                     "OpAsmINTEL": 5610,
                     "OpAsmCallINTEL": 5611,
                     "OpAsmCallINTEL": 5611,
+                    "OpAtomicFMinEXT": 5614,
+                    "OpAtomicFMaxEXT": 5615,
                     "OpDecorateString": 5632,
                     "OpDecorateString": 5632,
                     "OpDecorateStringGOOGLE": 5632,
                     "OpDecorateStringGOOGLE": 5632,
                     "OpMemberDecorateString": 5633,
                     "OpMemberDecorateString": 5633,

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

@@ -972,6 +972,9 @@ spv = {
         FunctionPointersINTEL = 5603,
         FunctionPointersINTEL = 5603,
         IndirectReferencesINTEL = 5604,
         IndirectReferencesINTEL = 5604,
         AsmINTEL = 5606,
         AsmINTEL = 5606,
+        AtomicFloat32MinMaxEXT = 5612,
+        AtomicFloat64MinMaxEXT = 5613,
+        AtomicFloat16MinMaxEXT = 5616,
         VectorComputeINTEL = 5617,
         VectorComputeINTEL = 5617,
         VectorAnyINTEL = 5619,
         VectorAnyINTEL = 5619,
         SubgroupAvcMotionEstimationINTEL = 5696,
         SubgroupAvcMotionEstimationINTEL = 5696,
@@ -1491,6 +1494,8 @@ spv = {
         OpAsmTargetINTEL = 5609,
         OpAsmTargetINTEL = 5609,
         OpAsmINTEL = 5610,
         OpAsmINTEL = 5610,
         OpAsmCallINTEL = 5611,
         OpAsmCallINTEL = 5611,
+        OpAtomicFMinEXT = 5614,
+        OpAtomicFMaxEXT = 5615,
         OpDecorateString = 5632,
         OpDecorateString = 5632,
         OpDecorateStringGOOGLE = 5632,
         OpDecorateStringGOOGLE = 5632,
         OpMemberDecorateString = 5633,
         OpMemberDecorateString = 5633,

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

@@ -972,6 +972,9 @@ spv = {
         'FunctionPointersINTEL' : 5603,
         'FunctionPointersINTEL' : 5603,
         'IndirectReferencesINTEL' : 5604,
         'IndirectReferencesINTEL' : 5604,
         'AsmINTEL' : 5606,
         'AsmINTEL' : 5606,
+        'AtomicFloat32MinMaxEXT' : 5612,
+        'AtomicFloat64MinMaxEXT' : 5613,
+        'AtomicFloat16MinMaxEXT' : 5616,
         'VectorComputeINTEL' : 5617,
         'VectorComputeINTEL' : 5617,
         'VectorAnyINTEL' : 5619,
         'VectorAnyINTEL' : 5619,
         'SubgroupAvcMotionEstimationINTEL' : 5696,
         'SubgroupAvcMotionEstimationINTEL' : 5696,
@@ -1491,6 +1494,8 @@ spv = {
         'OpAsmTargetINTEL' : 5609,
         'OpAsmTargetINTEL' : 5609,
         'OpAsmINTEL' : 5610,
         'OpAsmINTEL' : 5610,
         'OpAsmCallINTEL' : 5611,
         'OpAsmCallINTEL' : 5611,
+        'OpAtomicFMinEXT' : 5614,
+        'OpAtomicFMaxEXT' : 5615,
         'OpDecorateString' : 5632,
         'OpDecorateString' : 5632,
         'OpDecorateStringGOOGLE' : 5632,
         'OpDecorateStringGOOGLE' : 5632,
         'OpMemberDecorateString' : 5633,
         'OpMemberDecorateString' : 5633,

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

@@ -1017,6 +1017,9 @@ enum Capability : uint
     FunctionPointersINTEL = 5603,
     FunctionPointersINTEL = 5603,
     IndirectReferencesINTEL = 5604,
     IndirectReferencesINTEL = 5604,
     AsmINTEL = 5606,
     AsmINTEL = 5606,
+    AtomicFloat32MinMaxEXT = 5612,
+    AtomicFloat64MinMaxEXT = 5613,
+    AtomicFloat16MinMaxEXT = 5616,
     VectorComputeINTEL = 5617,
     VectorComputeINTEL = 5617,
     VectorAnyINTEL = 5619,
     VectorAnyINTEL = 5619,
     SubgroupAvcMotionEstimationINTEL = 5696,
     SubgroupAvcMotionEstimationINTEL = 5696,
@@ -1546,6 +1549,8 @@ enum Op : uint
     OpAsmTargetINTEL = 5609,
     OpAsmTargetINTEL = 5609,
     OpAsmINTEL = 5610,
     OpAsmINTEL = 5610,
     OpAsmCallINTEL = 5611,
     OpAsmCallINTEL = 5611,
+    OpAtomicFMinEXT = 5614,
+    OpAtomicFMaxEXT = 5615,
     OpDecorateString = 5632,
     OpDecorateString = 5632,
     OpDecorateStringGOOGLE = 5632,
     OpDecorateStringGOOGLE = 5632,
     OpMemberDecorateString = 5633,
     OpMemberDecorateString = 5633,