Add SPV_NV_shader_subgroup_partitioned to SPIR-V JSON
authorJohn Kessenich <cepheus@frii.com>
Fri, 30 Mar 2018 17:58:42 +0000 (11:58 -0600)
committerJohn Kessenich <cepheus@frii.com>
Fri, 30 Mar 2018 17:58:42 +0000 (11:58 -0600)
include/spirv/unified1/spirv.core.grammar.json
include/spirv/unified1/spirv.h
include/spirv/unified1/spirv.hpp
include/spirv/unified1/spirv.hpp11
include/spirv/unified1/spirv.json
include/spirv/unified1/spirv.lua
include/spirv/unified1/spirv.py

index 01168de..73492bc 100644 (file)
       ],
       "extensions" : [ "SPV_GOOGLE_decorate_string" ],
       "version" : "None"
+    },
+    {
+      "opname" : "OpGroupNonUniformPartitionNV",
+      "opcode" : 5296,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef", "name" : "'Value'" }
+      ],
+      "capabilities" : [ "GroupNonUniformPartitionedNV" ],
+      "version" : "None"
     }
   ],
   "operand_kinds" : [
           "value" : 3,
           "capabilities" : [ "GroupNonUniformClustered" ],
           "version" : "1.3"
+        },
+        {
+          "enumerant" : "PartitionedReduceNV",
+          "value" : 6,
+          "capabilities" : [ "GroupNonUniformPartitionedNV" ]
+        },
+        {
+          "enumerant" : "PartitionedInclusiveScanNV",
+          "value" : 7,
+          "capabilities" : [ "GroupNonUniformPartitionedNV" ]
+        },
+        {
+          "enumerant" : "PartitionedExclusiveScanNV",
+          "value" : 8,
+          "capabilities" : [ "GroupNonUniformPartitionedNV" ]
         }
       ]
     },
           "value" : 5570,
           "extensions" : [ "SPV_INTEL_subgroups" ],
           "version" : "None"
+        },
+        {
+          "enumerant" : "GroupNonUniformPartitionedNV",
+          "value" : 5297,
+          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
+          "version" : "None"
         }
       ]
     },
index 012f886..a61a2d2 100644 (file)
@@ -576,6 +576,9 @@ typedef enum SpvGroupOperation_ {
     SpvGroupOperationInclusiveScan = 1,
     SpvGroupOperationExclusiveScan = 2,
     SpvGroupOperationClusteredReduce = 3,
+    SpvGroupOperationPartitionedReduceNV = 6,
+    SpvGroupOperationPartitionedInclusiveScanNV = 7,
+    SpvGroupOperationPartitionedExclusiveScanNV = 8,
     SpvGroupOperationMax = 0x7fffffff,
 } SpvGroupOperation;
 
@@ -692,6 +695,7 @@ typedef enum SpvCapability_ {
     SpvCapabilityShaderStereoViewNV = 5259,
     SpvCapabilityPerViewAttributesNV = 5260,
     SpvCapabilityFragmentFullyCoveredEXT = 5265,
+    SpvCapabilityGroupNonUniformPartitionedNV = 5297,
     SpvCapabilitySubgroupShuffleINTEL = 5568,
     SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
     SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1055,6 +1059,7 @@ typedef enum SpvOp_ {
     SpvOpGroupSMaxNonUniformAMD = 5007,
     SpvOpFragmentMaskFetchAMD = 5011,
     SpvOpFragmentFetchAMD = 5012,
+    SpvOpGroupNonUniformPartitionNV = 5296,
     SpvOpSubgroupShuffleINTEL = 5571,
     SpvOpSubgroupShuffleDownINTEL = 5572,
     SpvOpSubgroupShuffleUpINTEL = 5573,
index 1fc24fb..3c599f1 100644 (file)
@@ -572,6 +572,9 @@ enum GroupOperation {
     GroupOperationInclusiveScan = 1,
     GroupOperationExclusiveScan = 2,
     GroupOperationClusteredReduce = 3,
+    GroupOperationPartitionedReduceNV = 6,
+    GroupOperationPartitionedInclusiveScanNV = 7,
+    GroupOperationPartitionedExclusiveScanNV = 8,
     GroupOperationMax = 0x7fffffff,
 };
 
@@ -688,6 +691,7 @@ enum Capability {
     CapabilityShaderStereoViewNV = 5259,
     CapabilityPerViewAttributesNV = 5260,
     CapabilityFragmentFullyCoveredEXT = 5265,
+    CapabilityGroupNonUniformPartitionedNV = 5297,
     CapabilitySubgroupShuffleINTEL = 5568,
     CapabilitySubgroupBufferBlockIOINTEL = 5569,
     CapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1051,6 +1055,7 @@ enum Op {
     OpGroupSMaxNonUniformAMD = 5007,
     OpFragmentMaskFetchAMD = 5011,
     OpFragmentFetchAMD = 5012,
+    OpGroupNonUniformPartitionNV = 5296,
     OpSubgroupShuffleINTEL = 5571,
     OpSubgroupShuffleDownINTEL = 5572,
     OpSubgroupShuffleUpINTEL = 5573,
index 702b006..67fd180 100644 (file)
@@ -572,6 +572,9 @@ enum class GroupOperation : unsigned {
     InclusiveScan = 1,
     ExclusiveScan = 2,
     ClusteredReduce = 3,
+    PartitionedReduceNV = 6,
+    PartitionedInclusiveScanNV = 7,
+    PartitionedExclusiveScanNV = 8,
     Max = 0x7fffffff,
 };
 
@@ -688,6 +691,7 @@ enum class Capability : unsigned {
     ShaderStereoViewNV = 5259,
     PerViewAttributesNV = 5260,
     FragmentFullyCoveredEXT = 5265,
+    GroupNonUniformPartitionedNV = 5297,
     SubgroupShuffleINTEL = 5568,
     SubgroupBufferBlockIOINTEL = 5569,
     SubgroupImageBlockIOINTEL = 5570,
@@ -1051,6 +1055,7 @@ enum class Op : unsigned {
     OpGroupSMaxNonUniformAMD = 5007,
     OpFragmentMaskFetchAMD = 5011,
     OpFragmentFetchAMD = 5012,
+    OpGroupNonUniformPartitionNV = 5296,
     OpSubgroupShuffleINTEL = 5571,
     OpSubgroupShuffleDownINTEL = 5572,
     OpSubgroupShuffleUpINTEL = 5573,
index 64c8140..909f20d 100644 (file)
                     "Reduce": 0,
                     "InclusiveScan": 1,
                     "ExclusiveScan": 2,
-                    "ClusteredReduce": 3
+                    "ClusteredReduce": 3,
+                    "PartitionedReduceNV": 6,
+                    "PartitionedInclusiveScanNV": 7,
+                    "PartitionedExclusiveScanNV": 8
                 }
             },
             {
                     "ShaderStereoViewNV": 5259,
                     "PerViewAttributesNV": 5260,
                     "FragmentFullyCoveredEXT": 5265,
+                    "GroupNonUniformPartitionedNV": 5297,
                     "SubgroupShuffleINTEL": 5568,
                     "SubgroupBufferBlockIOINTEL": 5569,
                     "SubgroupImageBlockIOINTEL": 5570
                     "OpGroupSMaxNonUniformAMD": 5007,
                     "OpFragmentMaskFetchAMD": 5011,
                     "OpFragmentFetchAMD": 5012,
+                    "OpGroupNonUniformPartitionNV": 5296,
                     "OpSubgroupShuffleINTEL": 5571,
                     "OpSubgroupShuffleDownINTEL": 5572,
                     "OpSubgroupShuffleUpINTEL": 5573,
index 2652036..d7db202 100644 (file)
@@ -537,6 +537,9 @@ spv = {
         InclusiveScan = 1,
         ExclusiveScan = 2,
         ClusteredReduce = 3,
+        PartitionedReduceNV = 6,
+        PartitionedInclusiveScanNV = 7,
+        PartitionedExclusiveScanNV = 8,
     },
 
     KernelEnqueueFlags = {
@@ -650,6 +653,7 @@ spv = {
         ShaderStereoViewNV = 5259,
         PerViewAttributesNV = 5260,
         FragmentFullyCoveredEXT = 5265,
+        GroupNonUniformPartitionedNV = 5297,
         SubgroupShuffleINTEL = 5568,
         SubgroupBufferBlockIOINTEL = 5569,
         SubgroupImageBlockIOINTEL = 5570,
@@ -1012,6 +1016,7 @@ spv = {
         OpGroupSMaxNonUniformAMD = 5007,
         OpFragmentMaskFetchAMD = 5011,
         OpFragmentFetchAMD = 5012,
+        OpGroupNonUniformPartitionNV = 5296,
         OpSubgroupShuffleINTEL = 5571,
         OpSubgroupShuffleDownINTEL = 5572,
         OpSubgroupShuffleUpINTEL = 5573,
index 9399809..8341cea 100755 (executable)
@@ -537,6 +537,9 @@ spv = {
         'InclusiveScan' : 1,
         'ExclusiveScan' : 2,
         'ClusteredReduce' : 3,
+        'PartitionedReduceNV' : 6,
+        'PartitionedInclusiveScanNV' : 7,
+        'PartitionedExclusiveScanNV' : 8,
     },
 
     'KernelEnqueueFlags' : {
@@ -650,6 +653,7 @@ spv = {
         'ShaderStereoViewNV' : 5259,
         'PerViewAttributesNV' : 5260,
         'FragmentFullyCoveredEXT' : 5265,
+        'GroupNonUniformPartitionedNV' : 5297,
         'SubgroupShuffleINTEL' : 5568,
         'SubgroupBufferBlockIOINTEL' : 5569,
         'SubgroupImageBlockIOINTEL' : 5570,
@@ -1012,6 +1016,7 @@ spv = {
         'OpGroupSMaxNonUniformAMD' : 5007,
         'OpFragmentMaskFetchAMD' : 5011,
         'OpFragmentFetchAMD' : 5012,
+        'OpGroupNonUniformPartitionNV' : 5296,
         'OpSubgroupShuffleINTEL' : 5571,
         'OpSubgroupShuffleDownINTEL' : 5572,
         'OpSubgroupShuffleUpINTEL' : 5573,