Acked-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>

On 04/12/2018 01:44 AM, Bas Nieuwenhuizen wrote:
---
  src/compiler/spirv/spirv.core.grammar.json | 169 ++++++++++++++++++++-
  src/compiler/spirv/spirv.h                 |  18 +++
  2 files changed, 183 insertions(+), 4 deletions(-)

diff --git a/src/compiler/spirv/spirv.core.grammar.json 
b/src/compiler/spirv/spirv.core.grammar.json
index f3994a60358..a03c024335c 100644
--- a/src/compiler/spirv/spirv.core.grammar.json
+++ b/src/compiler/spirv/spirv.core.grammar.json
@@ -3144,6 +3144,7 @@
          { "kind" : "IdRef", "name" : "'Target'" },
          { "kind" : "Decoration" }
        ],
+      "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
        "version" : "1.2"
      },
      {
@@ -3602,7 +3603,9 @@
          { "kind" : "IdResult" },
          { "kind" : "IdRef", "name" : "'Predicate'" }
        ],
-      "capabilities" : [ "SubgroupBallotKHR" ]
+      "capabilities" : [ "SubgroupBallotKHR" ],
+      "extensions" : [ "SPV_KHR_shader_ballot" ],
+      "version" : "None"
      },
      {
        "opname" : "OpSubgroupFirstInvocationKHR",
@@ -3612,7 +3615,9 @@
          { "kind" : "IdResult" },
          { "kind" : "IdRef", "name" : "'Value'" }
        ],
-      "capabilities" : [ "SubgroupBallotKHR" ]
+      "capabilities" : [ "SubgroupBallotKHR" ],
+      "extensions" : [ "SPV_KHR_shader_ballot" ],
+      "version" : "None"
      },
      {
        "opname" : "OpSubgroupAllKHR",
@@ -3666,6 +3671,7 @@
          { "kind" : "IdRef", "name" : "'Index'" }
        ],
        "capabilities" : [ "SubgroupBallotKHR" ],
+      "extensions" : [ "SPV_KHR_shader_ballot" ],
        "version" : "None"
      },
      {
@@ -3679,6 +3685,7 @@
          { "kind" : "IdRef",          "name" : "'X'" }
        ],
        "capabilities" : [ "Groups" ],
+      "extensions" : [ "SPV_AMD_shader_ballot" ],
        "version" : "None"
      },
      {
@@ -3692,6 +3699,7 @@
          { "kind" : "IdRef",          "name" : "'X'" }
        ],
        "capabilities" : [ "Groups" ],
+      "extensions" : [ "SPV_AMD_shader_ballot" ],
        "version" : "None"
      },
      {
@@ -3705,6 +3713,7 @@
          { "kind" : "IdRef",          "name" : "'X'" }
        ],
        "capabilities" : [ "Groups" ],
+      "extensions" : [ "SPV_AMD_shader_ballot" ],
        "version" : "None"
      },
      {
@@ -3718,6 +3727,7 @@
          { "kind" : "IdRef",          "name" : "'X'" }
        ],
        "capabilities" : [ "Groups" ],
+      "extensions" : [ "SPV_AMD_shader_ballot" ],
        "version" : "None"
      },
      {
@@ -3731,6 +3741,7 @@
          { "kind" : "IdRef",          "name" : "'X'" }
        ],
        "capabilities" : [ "Groups" ],
+      "extensions" : [ "SPV_AMD_shader_ballot" ],
        "version" : "None"
      },
      {
@@ -3744,6 +3755,7 @@
          { "kind" : "IdRef",          "name" : "'X'" }
        ],
        "capabilities" : [ "Groups" ],
+      "extensions" : [ "SPV_AMD_shader_ballot" ],
        "version" : "None"
      },
      {
@@ -3757,6 +3769,7 @@
          { "kind" : "IdRef",          "name" : "'X'" }
        ],
        "capabilities" : [ "Groups" ],
+      "extensions" : [ "SPV_AMD_shader_ballot" ],
        "version" : "None"
      },
      {
@@ -3770,6 +3783,7 @@
          { "kind" : "IdRef",          "name" : "'X'" }
        ],
        "capabilities" : [ "Groups" ],
+      "extensions" : [ "SPV_AMD_shader_ballot" ],
        "version" : "None"
      },
      {
@@ -3782,6 +3796,7 @@
          { "kind" : "IdRef", "name" : "'Coordinate'" }
        ],
        "capabilities" : [ "FragmentMaskAMD" ],
+      "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
        "version" : "None"
      },
      {
@@ -3795,6 +3810,7 @@
          { "kind" : "IdRef", "name" : "'Fragment Index'" }
        ],
        "capabilities" : [ "FragmentMaskAMD" ],
+      "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
        "version" : "None"
      },
      {
@@ -3911,6 +3927,18 @@
        ],
        "extensions" : [ "SPV_GOOGLE_decorate_string" ],
        "version" : "None"
+    },
+    {
+      "opname" : "OpGroupNonUniformPartitionNV",
+      "opcode" : 5296,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef", "name" : "'Value'" }
+      ],
+      "capabilities" : [ "GroupNonUniformPartitionedNV" ],
+      "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
+      "version" : "None"
      }
    ],
    "operand_kinds" : [
@@ -4541,12 +4569,14 @@
            "enumerant" : "PostDepthCoverage",
            "value" : 4446,
            "capabilities" : [ "SampleMaskPostDepthCoverage" ],
+          "extensions" : [ "SPV_KHR_post_depth_coverage" ],
            "version" : "None"
          },
          {
            "enumerant" : "StencilRefReplacingEXT",
            "value" : 5027,
            "capabilities" : [ "StencilExportEXT" ],
+          "extensions" : [ "SPV_EXT_shader_stencil_export" ],
            "version" : "None"
          }
        ]
@@ -5513,6 +5543,7 @@
          {
            "enumerant" : "ExplicitInterpAMD",
            "value" : 4999,
+          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
            "version" : "None"
          },
          {
@@ -5542,6 +5573,11 @@
              { "kind" : "LiteralInteger", "name" : "'Offset'" }
            ]
          },
+        {
+          "enumerant" : "NonUniformEXT",
+          "value" : 5300,
+          "capabilities" : [ "ShaderNonUniformEXT" ]
+        },
          {
            "enumerant" : "HlslCounterBufferGOOGLE",
            "value" : 5634,
@@ -5728,7 +5764,7 @@
          {
            "enumerant" : "SubgroupSize",
            "value" : 36,
-          "capabilities" : [ "Kernel", "GroupNonUniform" ]
+          "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
          },
          {
            "enumerant" : "SubgroupMaxSize",
@@ -5753,7 +5789,7 @@
          {
            "enumerant" : "SubgroupLocalInvocationId",
            "value" : 41,
-          "capabilities" : [ "Kernel", "GroupNonUniform" ]
+          "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
          },
          {
            "enumerant" : "VertexIndex",
@@ -5799,101 +5835,119 @@
            "enumerant" : "SubgroupEqMaskKHR",
            "value" : 4416,
            "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
+          "extensions" : [ "SPV_KHR_shader_ballot" ],
            "version" : "1.3"
          },
          {
            "enumerant" : "SubgroupGeMaskKHR",
            "value" : 4417,
            "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
+          "extensions" : [ "SPV_KHR_shader_ballot" ],
            "version" : "1.3"
          },
          {
            "enumerant" : "SubgroupGtMaskKHR",
            "value" : 4418,
            "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
+          "extensions" : [ "SPV_KHR_shader_ballot" ],
            "version" : "1.3"
          },
          {
            "enumerant" : "SubgroupLeMaskKHR",
            "value" : 4419,
            "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
+          "extensions" : [ "SPV_KHR_shader_ballot" ],
            "version" : "1.3"
          },
          {
            "enumerant" : "SubgroupLtMaskKHR",
            "value" : 4420,
            "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
+          "extensions" : [ "SPV_KHR_shader_ballot" ],
            "version" : "1.3"
          },
          {
            "enumerant" : "BaseVertex",
            "value" : 4424,
            "capabilities" : [ "DrawParameters" ],
+          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
            "version" : "1.3"
          },
          {
            "enumerant" : "BaseInstance",
            "value" : 4425,
            "capabilities" : [ "DrawParameters" ],
+          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
            "version" : "1.3"
          },
          {
            "enumerant" : "DrawIndex",
            "value" : 4426,
            "capabilities" : [ "DrawParameters" ],
+          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
            "version" : "1.3"
          },
          {
            "enumerant" : "DeviceIndex",
            "value" : 4438,
            "capabilities" : [ "DeviceGroup" ],
+          "extensions" : [ "SPV_KHR_device_group" ],
            "version" : "1.3"
          },
          {
            "enumerant" : "ViewIndex",
            "value" : 4440,
            "capabilities" : [ "MultiView" ],
+          "extensions" : [ "SPV_KHR_multiview" ],
            "version" : "1.3"
          },
          {
            "enumerant" : "BaryCoordNoPerspAMD",
            "value" : 4992,
+          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
            "version" : "None"
          },
          {
            "enumerant" : "BaryCoordNoPerspCentroidAMD",
            "value" : 4993,
+          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
            "version" : "None"
          },
          {
            "enumerant" : "BaryCoordNoPerspSampleAMD",
            "value" : 4994,
+          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
            "version" : "None"
          },
          {
            "enumerant" : "BaryCoordSmoothAMD",
            "value" : 4995,
+          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
            "version" : "None"
          },
          {
            "enumerant" : "BaryCoordSmoothCentroidAMD",
            "value" : 4996,
+          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
            "version" : "None"
          },
          {
            "enumerant" : "BaryCoordSmoothSampleAMD",
            "value" : 4997,
+          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
            "version" : "None"
          },
          {
            "enumerant" : "BaryCoordPullModelAMD",
            "value" : 4998,
+          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
            "version" : "None"
          },
          {
            "enumerant" : "FragStencilRefEXT",
            "value" : 5014,
            "capabilities" : [ "StencilExportEXT" ],
+          "extensions" : [ "SPV_EXT_shader_stencil_export" ],
            "version" : "None"
          },
          {
@@ -5930,6 +5984,7 @@
            "enumerant" : "FullyCoveredEXT",
            "value" : 5264,
            "capabilities" : [ "FragmentFullyCoveredEXT" ],
+          "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
            "version" : "None"
          }
        ]
@@ -5984,6 +6039,21 @@
            "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" ]
          }
        ]
      },
@@ -6412,6 +6482,7 @@
          {
            "enumerant" : "DeviceGroup",
            "value" : 4437,
+          "extensions" : [ "SPV_KHR_device_group" ],
            "version" : "1.3"
          },
          {
@@ -6538,6 +6609,90 @@
            "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
            "version" : "None"
          },
+        {
+          "enumerant" : "ShaderNonUniformEXT",
+          "value" : 5301,
+          "capabilities" : [ "Shader" ],
+          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "RuntimeDescriptorArrayEXT",
+          "value" : 5302,
+          "capabilities" : [ "Shader" ],
+          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "InputAttachmentArrayDynamicIndexingEXT",
+          "value" : 5303,
+          "capabilities" : [ "InputAttachment" ],
+          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "UniformTexelBufferArrayDynamicIndexingEXT",
+          "value" : 5304,
+          "capabilities" : [ "SampledBuffer" ],
+          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "StorageTexelBufferArrayDynamicIndexingEXT",
+          "value" : 5305,
+          "capabilities" : [ "ImageBuffer" ],
+          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "UniformBufferArrayNonUniformIndexingEXT",
+          "value" : 5306,
+          "capabilities" : [ "ShaderNonUniformEXT" ],
+          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "SampledImageArrayNonUniformIndexingEXT",
+          "value" : 5307,
+          "capabilities" : [ "ShaderNonUniformEXT" ],
+          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "StorageBufferArrayNonUniformIndexingEXT",
+          "value" : 5308,
+          "capabilities" : [ "ShaderNonUniformEXT" ],
+          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "StorageImageArrayNonUniformIndexingEXT",
+          "value" : 5309,
+          "capabilities" : [ "ShaderNonUniformEXT" ],
+          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "InputAttachmentArrayNonUniformIndexingEXT",
+          "value" : 5310,
+          "capabilities" : [ "InputAttachment", "ShaderNonUniformEXT" ],
+          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "UniformTexelBufferArrayNonUniformIndexingEXT",
+          "value" : 5311,
+          "capabilities" : [ "SampledBuffer", "ShaderNonUniformEXT" ],
+          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
+          "version" : "None"
+        },
+        {
+          "enumerant" : "StorageTexelBufferArrayNonUniformIndexingEXT",
+          "value" : 5312,
+          "capabilities" : [ "ImageBuffer", "ShaderNonUniformEXT" ],
+          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
+          "version" : "None"
+        },
          {
            "enumerant" : "SubgroupShuffleINTEL",
            "value" : 5568,
@@ -6555,6 +6710,12 @@
            "value" : 5570,
            "extensions" : [ "SPV_INTEL_subgroups" ],
            "version" : "None"
+        },
+        {
+          "enumerant" : "GroupNonUniformPartitionedNV",
+          "value" : 5297,
+          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
+          "version" : "None"
          }
        ]
      },
diff --git a/src/compiler/spirv/spirv.h b/src/compiler/spirv/spirv.h
index 012f886e2dd..e0a0330ba63 100644
--- a/src/compiler/spirv/spirv.h
+++ b/src/compiler/spirv/spirv.h
@@ -397,6 +397,7 @@ typedef enum SpvDecoration_ {
      SpvDecorationPassthroughNV = 5250,
      SpvDecorationViewportRelativeNV = 5252,
      SpvDecorationSecondaryViewportRelativeNV = 5256,
+    SpvDecorationNonUniformEXT = 5300,
      SpvDecorationHlslCounterBufferGOOGLE = 5634,
      SpvDecorationHlslSemanticGOOGLE = 5635,
      SpvDecorationMax = 0x7fffffff,
@@ -576,6 +577,9 @@ typedef enum SpvGroupOperation_ {
      SpvGroupOperationInclusiveScan = 1,
      SpvGroupOperationExclusiveScan = 2,
      SpvGroupOperationClusteredReduce = 3,
+    SpvGroupOperationPartitionedReduceNV = 6,
+    SpvGroupOperationPartitionedInclusiveScanNV = 7,
+    SpvGroupOperationPartitionedExclusiveScanNV = 8,
      SpvGroupOperationMax = 0x7fffffff,
  } SpvGroupOperation;
@@ -692,6 +696,19 @@ typedef enum SpvCapability_ {
      SpvCapabilityShaderStereoViewNV = 5259,
      SpvCapabilityPerViewAttributesNV = 5260,
      SpvCapabilityFragmentFullyCoveredEXT = 5265,
+    SpvCapabilityGroupNonUniformPartitionedNV = 5297,
+    SpvCapabilityShaderNonUniformEXT = 5301,
+    SpvCapabilityRuntimeDescriptorArrayEXT = 5302,
+    SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
+    SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
+    SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
+    SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
+    SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
+    SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
+    SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
+    SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
+    SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
+    SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
      SpvCapabilitySubgroupShuffleINTEL = 5568,
      SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
      SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1055,6 +1072,7 @@ typedef enum SpvOp_ {
      SpvOpGroupSMaxNonUniformAMD = 5007,
      SpvOpFragmentMaskFetchAMD = 5011,
      SpvOpFragmentFetchAMD = 5012,
+    SpvOpGroupNonUniformPartitionNV = 5296,
      SpvOpSubgroupShuffleINTEL = 5571,
      SpvOpSubgroupShuffleDownINTEL = 5572,
      SpvOpSubgroupShuffleUpINTEL = 5573,

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to