Add tokens for SPV_EXT_descriptor_indexing.
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index b8208d6..a03c024 100755
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -5574,6 +5574,11 @@
           ]
         },
         {
+          "enumerant" : "NonUniformEXT",
+          "value" : 5300,
+          "capabilities" : [ "ShaderNonUniformEXT" ]
+        },
+        {
           "enumerant" : "HlslCounterBufferGOOGLE",
           "value" : 5634,
           "parameters" : [
@@ -6605,6 +6610,90 @@
           "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,
           "extensions" : [ "SPV_INTEL_subgroups" ],
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index a61a2d2..e0a0330 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -397,6 +397,7 @@
     SpvDecorationPassthroughNV = 5250,
     SpvDecorationViewportRelativeNV = 5252,
     SpvDecorationSecondaryViewportRelativeNV = 5256,
+    SpvDecorationNonUniformEXT = 5300,
     SpvDecorationHlslCounterBufferGOOGLE = 5634,
     SpvDecorationHlslSemanticGOOGLE = 5635,
     SpvDecorationMax = 0x7fffffff,
@@ -696,6 +697,18 @@
     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,
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index 3c599f1..e21762d 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -393,6 +393,7 @@
     DecorationPassthroughNV = 5250,
     DecorationViewportRelativeNV = 5252,
     DecorationSecondaryViewportRelativeNV = 5256,
+    DecorationNonUniformEXT = 5300,
     DecorationHlslCounterBufferGOOGLE = 5634,
     DecorationHlslSemanticGOOGLE = 5635,
     DecorationMax = 0x7fffffff,
@@ -692,6 +693,18 @@
     CapabilityPerViewAttributesNV = 5260,
     CapabilityFragmentFullyCoveredEXT = 5265,
     CapabilityGroupNonUniformPartitionedNV = 5297,
+    CapabilityShaderNonUniformEXT = 5301,
+    CapabilityRuntimeDescriptorArrayEXT = 5302,
+    CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
+    CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
+    CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
+    CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
+    CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
+    CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
+    CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
+    CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
+    CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
+    CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
     CapabilitySubgroupShuffleINTEL = 5568,
     CapabilitySubgroupBufferBlockIOINTEL = 5569,
     CapabilitySubgroupImageBlockIOINTEL = 5570,
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index 67fd180..4956a49 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -393,6 +393,7 @@
     PassthroughNV = 5250,
     ViewportRelativeNV = 5252,
     SecondaryViewportRelativeNV = 5256,
+    NonUniformEXT = 5300,
     HlslCounterBufferGOOGLE = 5634,
     HlslSemanticGOOGLE = 5635,
     Max = 0x7fffffff,
@@ -692,6 +693,18 @@
     PerViewAttributesNV = 5260,
     FragmentFullyCoveredEXT = 5265,
     GroupNonUniformPartitionedNV = 5297,
+    ShaderNonUniformEXT = 5301,
+    RuntimeDescriptorArrayEXT = 5302,
+    InputAttachmentArrayDynamicIndexingEXT = 5303,
+    UniformTexelBufferArrayDynamicIndexingEXT = 5304,
+    StorageTexelBufferArrayDynamicIndexingEXT = 5305,
+    UniformBufferArrayNonUniformIndexingEXT = 5306,
+    SampledImageArrayNonUniformIndexingEXT = 5307,
+    StorageBufferArrayNonUniformIndexingEXT = 5308,
+    StorageImageArrayNonUniformIndexingEXT = 5309,
+    InputAttachmentArrayNonUniformIndexingEXT = 5310,
+    UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
+    StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
     SubgroupShuffleINTEL = 5568,
     SubgroupBufferBlockIOINTEL = 5569,
     SubgroupImageBlockIOINTEL = 5570,
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index 909f20d..5c3480e 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -433,6 +433,7 @@
                     "PassthroughNV": 5250,
                     "ViewportRelativeNV": 5252,
                     "SecondaryViewportRelativeNV": 5256,
+                    "NonUniformEXT": 5300,
                     "HlslCounterBufferGOOGLE": 5634,
                     "HlslSemanticGOOGLE": 5635
                 }
@@ -717,6 +718,18 @@
                     "PerViewAttributesNV": 5260,
                     "FragmentFullyCoveredEXT": 5265,
                     "GroupNonUniformPartitionedNV": 5297,
+                    "ShaderNonUniformEXT": 5301,
+                    "RuntimeDescriptorArrayEXT": 5302,
+                    "InputAttachmentArrayDynamicIndexingEXT": 5303,
+                    "UniformTexelBufferArrayDynamicIndexingEXT": 5304,
+                    "StorageTexelBufferArrayDynamicIndexingEXT": 5305,
+                    "UniformBufferArrayNonUniformIndexingEXT": 5306,
+                    "SampledImageArrayNonUniformIndexingEXT": 5307,
+                    "StorageBufferArrayNonUniformIndexingEXT": 5308,
+                    "StorageImageArrayNonUniformIndexingEXT": 5309,
+                    "InputAttachmentArrayNonUniformIndexingEXT": 5310,
+                    "UniformTexelBufferArrayNonUniformIndexingEXT": 5311,
+                    "StorageTexelBufferArrayNonUniformIndexingEXT": 5312,
                     "SubgroupShuffleINTEL": 5568,
                     "SubgroupBufferBlockIOINTEL": 5569,
                     "SubgroupImageBlockIOINTEL": 5570
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index d7db202..8a3b496 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -366,6 +366,7 @@
         PassthroughNV = 5250,
         ViewportRelativeNV = 5252,
         SecondaryViewportRelativeNV = 5256,
+        NonUniformEXT = 5300,
         HlslCounterBufferGOOGLE = 5634,
         HlslSemanticGOOGLE = 5635,
     },
@@ -654,6 +655,18 @@
         PerViewAttributesNV = 5260,
         FragmentFullyCoveredEXT = 5265,
         GroupNonUniformPartitionedNV = 5297,
+        ShaderNonUniformEXT = 5301,
+        RuntimeDescriptorArrayEXT = 5302,
+        InputAttachmentArrayDynamicIndexingEXT = 5303,
+        UniformTexelBufferArrayDynamicIndexingEXT = 5304,
+        StorageTexelBufferArrayDynamicIndexingEXT = 5305,
+        UniformBufferArrayNonUniformIndexingEXT = 5306,
+        SampledImageArrayNonUniformIndexingEXT = 5307,
+        StorageBufferArrayNonUniformIndexingEXT = 5308,
+        StorageImageArrayNonUniformIndexingEXT = 5309,
+        InputAttachmentArrayNonUniformIndexingEXT = 5310,
+        UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
+        StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
         SubgroupShuffleINTEL = 5568,
         SubgroupBufferBlockIOINTEL = 5569,
         SubgroupImageBlockIOINTEL = 5570,
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index 8341cea..f3d698a 100755
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -366,6 +366,7 @@
         'PassthroughNV' : 5250,
         'ViewportRelativeNV' : 5252,
         'SecondaryViewportRelativeNV' : 5256,
+        'NonUniformEXT' : 5300,
         'HlslCounterBufferGOOGLE' : 5634,
         'HlslSemanticGOOGLE' : 5635,
     },
@@ -654,6 +655,18 @@
         'PerViewAttributesNV' : 5260,
         'FragmentFullyCoveredEXT' : 5265,
         'GroupNonUniformPartitionedNV' : 5297,
+        'ShaderNonUniformEXT' : 5301,
+        'RuntimeDescriptorArrayEXT' : 5302,
+        'InputAttachmentArrayDynamicIndexingEXT' : 5303,
+        'UniformTexelBufferArrayDynamicIndexingEXT' : 5304,
+        'StorageTexelBufferArrayDynamicIndexingEXT' : 5305,
+        'UniformBufferArrayNonUniformIndexingEXT' : 5306,
+        'SampledImageArrayNonUniformIndexingEXT' : 5307,
+        'StorageBufferArrayNonUniformIndexingEXT' : 5308,
+        'StorageImageArrayNonUniformIndexingEXT' : 5309,
+        'InputAttachmentArrayNonUniformIndexingEXT' : 5310,
+        'UniformTexelBufferArrayNonUniformIndexingEXT' : 5311,
+        'StorageTexelBufferArrayNonUniformIndexingEXT' : 5312,
         'SubgroupShuffleINTEL' : 5568,
         'SubgroupBufferBlockIOINTEL' : 5569,
         'SubgroupImageBlockIOINTEL' : 5570,