[Mesa-dev] [PATCH 03/10] spirv: Import the latest 1.0.12 header and JSON from Khronos

Eric Engestrom eric.engestrom at imgtec.com
Sun Nov 12 22:53:50 UTC 2017


On Friday, 2017-11-10 14:32:43 -0800, Ian Romanick wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
> 
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
>  src/compiler/spirv/spirv.core.grammar.json | 417 ++++++++++++-----------------
>  src/compiler/spirv/spirv.h                 |  56 ++--
>  2 files changed, 201 insertions(+), 272 deletions(-)
> 
> diff --git a/src/compiler/spirv/spirv.core.grammar.json b/src/compiler/spirv/spirv.core.grammar.json
> index e2950dd..f05be1c 100644
> --- a/src/compiler/spirv/spirv.core.grammar.json
> +++ b/src/compiler/spirv/spirv.core.grammar.json
> @@ -26,8 +26,8 @@
>    ],
>    "magic_number" : "0x07230203",
>    "major_version" : 1,
> -  "minor_version" : 2,
> -  "revision" : 1,
> +  "minor_version" : 0,
> +  "revision" : 12,

Aren't you going backwards here?
1.2.1 -> 1.0.12

Seems to me like the latest is 1.2.2, is that what you meant to pull?
https://github.com/KhronosGroup/SPIRV-Headers/tree/master/include/spirv/1.2/

>    "instructions" : [
>      {
>        "opname" : "OpNop",
> @@ -2410,7 +2410,7 @@
>          { "kind" : "IdResult" },
>          { "kind" : "IdScope",        "name" : "'Execution'" },
>          { "kind" : "GroupOperation", "name" : "'Operation'" },
> -        { "kind" : "IdRef",          "name" : "X" }
> +        { "kind" : "IdRef",          "name" : "'X'" }
>        ],
>        "capabilities" : [ "Groups" ]
>      },
> @@ -2434,7 +2434,7 @@
>          { "kind" : "IdResult" },
>          { "kind" : "IdScope",        "name" : "'Execution'" },
>          { "kind" : "GroupOperation", "name" : "'Operation'" },
> -        { "kind" : "IdRef",          "name" : "X" }
> +        { "kind" : "IdRef",          "name" : "'X'" }
>        ],
>        "capabilities" : [ "Groups" ]
>      },
> @@ -2446,7 +2446,7 @@
>          { "kind" : "IdResult" },
>          { "kind" : "IdScope",        "name" : "'Execution'" },
>          { "kind" : "GroupOperation", "name" : "'Operation'" },
> -        { "kind" : "IdRef",          "name" : "X" }
> +        { "kind" : "IdRef",          "name" : "'X'" }
>        ],
>        "capabilities" : [ "Groups" ]
>      },
> @@ -2458,7 +2458,7 @@
>          { "kind" : "IdResult" },
>          { "kind" : "IdScope",        "name" : "'Execution'" },
>          { "kind" : "GroupOperation", "name" : "'Operation'" },
> -        { "kind" : "IdRef",          "name" : "X" }
> +        { "kind" : "IdRef",          "name" : "'X'" }
>        ],
>        "capabilities" : [ "Groups" ]
>      },
> @@ -2470,7 +2470,7 @@
>          { "kind" : "IdResult" },
>          { "kind" : "IdScope",        "name" : "'Execution'" },
>          { "kind" : "GroupOperation", "name" : "'Operation'" },
> -        { "kind" : "IdRef",          "name" : "X" }
> +        { "kind" : "IdRef",          "name" : "'X'" }
>        ],
>        "capabilities" : [ "Groups" ]
>      },
> @@ -3013,124 +3013,6 @@
>        "capabilities" : [ "SparseResidency" ]
>      },
>      {
> -      "opname" : "OpSizeOf",
> -      "opcode" : 321,
> -      "operands" : [
> -        { "kind" : "IdResultType" },
> -        { "kind" : "IdResult" },
> -        { "kind" : "IdRef",        "name" : "'Pointer'" }
> -      ],
> -      "capabilities" : [ "Addresses" ]
> -    },
> -    {
> -      "opname" : "OpTypePipeStorage",
> -      "opcode" : 322,
> -      "operands" : [
> -        { "kind" : "IdResult" }
> -      ],
> -      "capabilities" : [ "PipeStorage" ]
> -    },
> -    {
> -      "opname" : "OpConstantPipeStorage",
> -      "opcode" : 323,
> -      "operands" : [
> -        { "kind" : "IdResultType" },
> -        { "kind" : "IdResult" },
> -        { "kind" : "LiteralInteger", "name" : "'Packet Size'" },
> -        { "kind" : "LiteralInteger", "name" : "'Packet Alignment'" },
> -        { "kind" : "LiteralInteger", "name" : "'Capacity'" }
> -      ],
> -      "capabilities" : [ "PipeStorage" ]
> -    },
> -    {
> -      "opname" : "OpCreatePipeFromPipeStorage",
> -      "opcode" : 324,
> -      "operands" : [
> -        { "kind" : "IdResultType" },
> -        { "kind" : "IdResult" },
> -        { "kind" : "IdRef",        "name" : "'Pipe Storage'" }
> -      ],
> -      "capabilities" : [ "PipeStorage" ]
> -    },
> -    {
> -      "opname" : "OpGetKernelLocalSizeForSubgroupCount",
> -      "opcode" : 325,
> -      "operands" : [
> -        { "kind" : "IdResultType" },
> -        { "kind" : "IdResult" },
> -        { "kind" : "IdRef",        "name" : "'Subgroup Count'" },
> -        { "kind" : "IdRef",        "name" : "'Invoke'" },
> -        { "kind" : "IdRef",        "name" : "'Param'" },
> -        { "kind" : "IdRef",        "name" : "'Param Size'" },
> -        { "kind" : "IdRef",        "name" : "'Param Align'" }
> -      ],
> -      "capabilities" : [ "SubgroupDispatch" ]
> -    },
> -    {
> -      "opname" : "OpGetKernelMaxNumSubgroups",
> -      "opcode" : 326,
> -      "operands" : [
> -        { "kind" : "IdResultType" },
> -        { "kind" : "IdResult" },
> -        { "kind" : "IdRef",        "name" : "'Invoke'" },
> -        { "kind" : "IdRef",        "name" : "'Param'" },
> -        { "kind" : "IdRef",        "name" : "'Param Size'" },
> -        { "kind" : "IdRef",        "name" : "'Param Align'" }
> -      ],
> -      "capabilities" : [ "SubgroupDispatch" ]
> -    },
> -    {
> -      "opname" : "OpTypeNamedBarrier",
> -      "opcode" : 327,
> -      "operands" : [
> -        { "kind" : "IdResult" }
> -      ],
> -      "capabilities" : [ "NamedBarrier" ]
> -    },
> -    {
> -      "opname" : "OpNamedBarrierInitialize",
> -      "opcode" : 328,
> -      "operands" : [
> -        { "kind" : "IdResultType" },
> -        { "kind" : "IdResult" },
> -        { "kind" : "IdRef",        "name" : "'Subgroup Count'" }
> -      ],
> -      "capabilities" : [ "NamedBarrier" ]
> -    },
> -    {
> -      "opname" : "OpMemoryNamedBarrier",
> -      "opcode" : 329,
> -      "operands" : [
> -        { "kind" : "IdRef",             "name" : "'Named Barrier'" },
> -        { "kind" : "IdScope",           "name" : "'Memory'" },
> -        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
> -      ],
> -      "capabilities" : [ "NamedBarrier" ]
> -    },
> -    {
> -      "opname" : "OpModuleProcessed",
> -      "opcode" : 330,
> -      "operands" : [
> -        { "kind" : "LiteralString", "name" : "'Process'" }
> -      ]
> -    },
> -    {
> -      "opname" : "OpExecutionModeId",
> -      "opcode" : 331,
> -      "operands" : [
> -        { "kind" : "IdRef",           "name" : "'Entry Point'" },
> -        { "kind" : "ExecutionMode",   "name" : "'Mode'" }
> -      ]
> -    },
> -    {
> -      "opname" : "OpDecorateId",
> -      "opcode" : 332,
> -      "operands" : [
> -        { "kind" : "IdRef",      "name" : "'Target'" },
> -        { "kind" : "Decoration" }
> -      ]
> -    },
> -    {
>        "opname" : "OpSubgroupBallotKHR",
>        "opcode" : 4421,
>        "operands" : [
> @@ -3223,7 +3105,7 @@
>          { "kind" : "IdResult" },
>          { "kind" : "IdScope",        "name" : "'Execution'" },
>          { "kind" : "GroupOperation", "name" : "'Operation'" },
> -        { "kind" : "IdRef",          "name" : "X" }
> +        { "kind" : "IdRef",          "name" : "'X'" }
>        ],
>        "capabilities" : [ "Groups" ]
>      },
> @@ -3247,7 +3129,7 @@
>          { "kind" : "IdResult" },
>          { "kind" : "IdScope",        "name" : "'Execution'" },
>          { "kind" : "GroupOperation", "name" : "'Operation'" },
> -        { "kind" : "IdRef",          "name" : "X" }
> +        { "kind" : "IdRef",          "name" : "'X'" }
>        ],
>        "capabilities" : [ "Groups" ]
>      },
> @@ -3259,7 +3141,7 @@
>          { "kind" : "IdResult" },
>          { "kind" : "IdScope",        "name" : "'Execution'" },
>          { "kind" : "GroupOperation", "name" : "'Operation'" },
> -        { "kind" : "IdRef",          "name" : "X" }
> +        { "kind" : "IdRef",          "name" : "'X'" }
>        ],
>        "capabilities" : [ "Groups" ]
>      },
> @@ -3271,7 +3153,7 @@
>          { "kind" : "IdResult" },
>          { "kind" : "IdScope",        "name" : "'Execution'" },
>          { "kind" : "GroupOperation", "name" : "'Operation'" },
> -        { "kind" : "IdRef",          "name" : "X" }
> +        { "kind" : "IdRef",          "name" : "'X'" }
>        ],
>        "capabilities" : [ "Groups" ]
>      },
> @@ -3283,9 +3165,118 @@
>          { "kind" : "IdResult" },
>          { "kind" : "IdScope",        "name" : "'Execution'" },
>          { "kind" : "GroupOperation", "name" : "'Operation'" },
> -        { "kind" : "IdRef",          "name" : "X" }
> +        { "kind" : "IdRef",          "name" : "'X'" }
>        ],
>        "capabilities" : [ "Groups" ]
> +    },
> +    {
> +      "opname" : "OpFragmentMaskFetchAMD",
> +      "opcode" : 5011,
> +      "operands" : [
> +        { "kind" : "IdResultType" },
> +        { "kind" : "IdResult" },
> +        { "kind" : "IdRef", "name" : "'Image'" },
> +        { "kind" : "IdRef", "name" : "'Coordinate'" }
> +      ],
> +      "capabilities" : [ "FragmentMaskAMD" ]
> +    },
> +    {
> +      "opname" : "OpFragmentFetchAMD",
> +      "opcode" : 5012,
> +      "operands" : [
> +        { "kind" : "IdResultType" },
> +        { "kind" : "IdResult" },
> +        { "kind" : "IdRef", "name" : "'Image'" },
> +        { "kind" : "IdRef", "name" : "'Coordinate'" },
> +        { "kind" : "IdRef", "name" : "'Fragment Index'" }
> +      ],
> +      "capabilities" : [ "FragmentMaskAMD" ]
> +    },
> +    {
> +      "opname" : "OpSubgroupShuffleINTEL",
> +      "opcode" : 5571,
> +      "operands" : [
> +        { "kind" : "IdResultType" },
> +        { "kind" : "IdResult" },
> +        { "kind" : "IdRef", "name" : "'Data'" },
> +        { "kind" : "IdRef", "name" : "'InvocationId'" }
> +      ],
> +      "capabilities" : [ "SubgroupShuffleINTEL" ]
> +    },
> +    {
> +      "opname" : "OpSubgroupShuffleDownINTEL",
> +      "opcode" : 5572,
> +      "operands" : [
> +        { "kind" : "IdResultType" },
> +        { "kind" : "IdResult" },
> +        { "kind" : "IdRef", "name" : "'Current'" },
> +        { "kind" : "IdRef", "name" : "'Next'" },
> +        { "kind" : "IdRef", "name" : "'Delta'" }
> +      ],
> +      "capabilities" : [ "SubgroupShuffleINTEL" ]
> +    },
> +    {
> +      "opname" : "OpSubgroupShuffleUpINTEL",
> +      "opcode" : 5573,
> +      "operands" : [
> +        { "kind" : "IdResultType" },
> +        { "kind" : "IdResult" },
> +        { "kind" : "IdRef", "name" : "'Previous'" },
> +        { "kind" : "IdRef", "name" : "'Current'" },
> +        { "kind" : "IdRef", "name" : "'Delta'" }
> +      ],
> +      "capabilities" : [ "SubgroupShuffleINTEL" ]
> +    },
> +    {
> +      "opname" : "OpSubgroupShuffleXorINTEL",
> +      "opcode" : 5574,
> +      "operands" : [
> +        { "kind" : "IdResultType" },
> +        { "kind" : "IdResult" },
> +        { "kind" : "IdRef", "name" : "'Data'" },
> +        { "kind" : "IdRef", "name" : "'Value'" }
> +      ],
> +      "capabilities" : [ "SubgroupShuffleINTEL" ]
> +    },
> +    {
> +      "opname" : "OpSubgroupBlockReadINTEL",
> +      "opcode" : 5575,
> +      "operands" : [
> +        { "kind" : "IdResultType" },
> +        { "kind" : "IdResult" },
> +        { "kind" : "IdRef", "name" : "'Ptr'" }
> +      ],
> +      "capabilities" : [ "SubgroupBufferBlockIOINTEL" ]
> +    },
> +    {
> +      "opname" : "OpSubgroupBlockWriteINTEL",
> +      "opcode" : 5576,
> +      "operands" : [
> +        { "kind" : "IdRef", "name" : "'Ptr'" },
> +        { "kind" : "IdRef", "name" : "'Data'" }
> +      ],
> +      "capabilities" : [ "SubgroupBufferBlockIOINTEL" ]
> +    },
> +    {
> +      "opname" : "OpSubgroupImageBlockReadINTEL",
> +      "opcode" : 5577,
> +      "operands" : [
> +        { "kind" : "IdResultType" },
> +        { "kind" : "IdResult" },
> +        { "kind" : "IdRef", "name" : "'Image'" },
> +        { "kind" : "IdRef", "name" : "'Coordinate'" }
> +      ],
> +      "capabilities" : [ "SubgroupImageBlockIOINTEL" ]
> +    },
> +    {
> +      "opname" : "OpSubgroupImageBlockWriteINTEL",
> +      "opcode" : 5578,
> +      "operands" : [
> +        { "kind" : "IdRef", "name" : "'Image'" },
> +        { "kind" : "IdRef", "name" : "'Coordinate'" },
> +        { "kind" : "IdRef", "name" : "'Data'" }
> +      ],
> +      "capabilities" : [ "SubgroupImageBlockIOINTEL" ]
>      }
>    ],
>    "operand_kinds" : [
> @@ -3427,18 +3418,6 @@
>          {
>            "enumerant" : "DontUnroll",
>            "value" : "0x0002"
> -        },
> -        {
> -          "enumerant" : "DependencyInfinite",
> -          "value" : "0x0004"
> -        },
> -        {
> -          "enumerant" : "DependencyLength",
> -          "value" : "0x0008",
> -          "parameters" : [
> -            { "kind" : "LiteralInteger" }
> -          ]
> -
>          }
>        ]
>      },
> @@ -3854,60 +3833,14 @@
>            "capabilities" : [ "Kernel" ]
>          },
>          {
> -          "enumerant" : "Initializer",
> -          "value" : 33,
> -          "capabilities" : [ "Kernel" ]
> -        },
> -        {
> -          "enumerant" : "Finalizer",
> -          "value" : 34,
> -          "capabilities" : [ "Kernel" ]
> -        },
> -        {
> -          "enumerant" : "SubgroupSize",
> -          "value" : 35,
> -          "capabilities" : [ "SubgroupDispatch" ],
> -          "parameters" : [
> -            { "kind" : "LiteralInteger", "name" : "'Subgroup Size'" }
> -          ]
> -        },
> -        {
> -          "enumerant" : "SubgroupsPerWorkgroup",
> -          "value" : 36,
> -          "capabilities" : [ "SubgroupDispatch" ],
> -          "parameters" : [
> -            { "kind" : "LiteralInteger", "name" : "'Subgroups Per Workgroup'" }
> -          ]
> -        },
> -        {
> -          "enumerant" : "SubgroupsPerWorkgroupId",
> -          "value" : 37,
> -          "capabilities" : [ "SubgroupDispatch" ],
> -          "parameters" : [
> -            { "kind" : "IdRef", "name" : "'Subgroups Per Workgroup'" }
> -          ]
> -        },
> -        {
> -          "enumerant" : "LocalSizeId",
> -          "value" : 38,
> -          "parameters" : [
> -            { "kind" : "IdRef", "name" : "'x size'" },
> -            { "kind" : "IdRef", "name" : "'y size'" },
> -            { "kind" : "IdRef", "name" : "'z size'" }
> -          ]
> -        },
> -        {
> -          "enumerant" : "LocalSizeHintId",
> -          "value" : 39,
> -          "capabilities" : [ "Kernel" ],
> -          "parameters" : [
> -            { "kind" : "IdRef", "name" : "'Local Size Hint'" }
> -          ]
> -        },
> -        {
>            "enumerant" : "PostDepthCoverage",
>            "value" : 4446,
>            "capabilities" : [ "SampleMaskPostDepthCoverage" ]
> +        },
> +        {
> +          "enumerant" : "StencilRefReplacingEXT",
> +          "value" : 5027,
> +          "capabilities" : [ "StencilExportEXT" ]
>          }
>        ]
>      },
> @@ -3975,7 +3908,8 @@
>            "extensions" : [
>              "SPV_KHR_storage_buffer_storage_class",
>              "SPV_KHR_variable_pointers"
> -          ]
> +          ],
> +          "capabilities" : [ "Shader" ]
>          }
>        ]
>      },
> @@ -4612,7 +4546,7 @@
>          {
>            "enumerant" : "SpecId",
>            "value" : 1,
> -          "capabilities" : [ "Shader", "Kernel" ],
> +          "capabilities" : [ "Shader" ],
>            "parameters" : [
>              { "kind" : "LiteralInteger", "name" : "'Specialization Constant ID'" }
>            ]
> @@ -4877,30 +4811,6 @@
>            ]
>          },
>          {
> -          "enumerant" : "MaxByteOffset",
> -          "value" : 45,
> -          "capabilities" : [ "Addresses" ],
> -          "parameters" : [
> -            { "kind" : "LiteralInteger", "name" : "'Max Byte Offset'" }
> -          ]
> -        },
> -        {
> -          "enumerant" : "AlignmentId",
> -          "value" : 46,
> -          "capabilities" : [ "Kernel" ],
> -          "parameters" : [
> -            { "kind" : "IdRef", "name" : "'Alignment'" }
> -          ]
> -        },
> -        {
> -          "enumerant" : "MaxByteOffsetId",
> -          "value" : 47,
> -          "capabilities" : [ "Addresses" ],
> -          "parameters" : [
> -            { "kind" : "IdRef", "name" : "'Max Byte Offset'" }
> -          ]
> -        },
> -        {
>            "enumerant" : "ExplicitInterpAMD",
>            "value" : 4999
>          },
> @@ -5031,7 +4941,7 @@
>          {
>            "enumerant" : "SampleMask",
>            "value" : 20,
> -          "capabilities" : [ "SampleRateShading" ]
> +          "capabilities" : [ "Shader" ]
>          },
>          {
>            "enumerant" : "FragDepth",
> @@ -5211,6 +5121,11 @@
>            "value" : 4998
>          },
>          {
> +          "enumerant" : "FragStencilRefEXT",
> +          "value" : 5014,
> +          "capabilities" : [ "StencilExportEXT" ]
> +        },
> +        {
>            "enumerant" : "ViewportMaskNV",
>            "value" : 5253,
>            "capabilities" : [ "ShaderViewportMaskNV" ]
> @@ -5579,21 +5494,6 @@
>            "capabilities" : [ "Geometry" ]
>          },
>          {
> -          "enumerant" : "SubgroupDispatch",
> -          "value" : 58,
> -          "capabilities" : [ "DeviceEnqueue" ]
> -        },
> -        {
> -          "enumerant" : "NamedBarrier",
> -          "value" : 59,
> -          "capabilities" : [ "Kernel" ]
> -        },
> -        {
> -          "enumerant" : "PipeStorage",
> -          "value" : 60,
> -          "capabilities" : [ "Pipes" ]
> -        },
> -        {
>            "enumerant" : "SubgroupBallotKHR",
>            "value" : 4423,
>            "extensions" : [ "SPV_KHR_shader_ballot" ]
> @@ -5669,14 +5569,14 @@
>            "capabilities" : [ "VariablePointersStorageBuffer" ],
>            "extensions" : [ "SPV_KHR_variable_pointers" ]
>          },
> -        {          "enumerant" : "AtomicStorageOps",
> -          "value" : 4445,
> -          "extensions" : [ "SPV_KHR_shader_atomic_counter_ops" ]
> +        {
> +            "enumerant": "AtomicStorageOps",
> +            "value": 4445,
> +            "extensions": [ "SPV_KHR_shader_atomic_counter_ops" ]
>          },
>          {
>            "enumerant" : "SampleMaskPostDepthCoverage",
>            "value" : 4447,
> -          "capabilities" : [ "SampleRateShading" ],
>            "extensions" : [ "SPV_KHR_post_depth_coverage" ]
>          },
>          {
> @@ -5686,6 +5586,24 @@
>            "extensions" : [ "SPV_AMD_texture_gather_bias_lod" ]
>          },
>          {
> +          "enumerant" : "FragmentMaskAMD",
> +          "value" : 5010,
> +          "capabilities" : [ "Shader" ],
> +          "extensions" : [ "SPV_AMD_shader_fragment_mask" ]
> +        },
> +        {
> +          "enumerant" : "StencilExportEXT",
> +          "value" : 5013,
> +          "capabilities" : [ "Shader" ],
> +          "extensions" : [ "SPV_EXT_shader_stencil_export" ]
> +        },
> +        {
> +          "enumerant" : "ImageReadWriteLodAMD",
> +          "value" : 5015,
> +          "capabilities" : [ "Shader" ],
> +          "extensions" : [ "SPV_AMD_shader_image_load_store_lod" ]
> +        },
> +        {
>            "enumerant" : "SampleMaskOverrideCoverageNV",
>            "value" : 5249,
>            "capabilities" : [ "SampleRateShading" ],
> @@ -5698,6 +5616,12 @@
>            "extensions" : [ "SPV_NV_geometry_shader_passthrough" ]
>          },
>          {
> +          "enumerant" : "ShaderViewportIndexLayerEXT",
> +          "value" : 5254,
> +          "capabilities" : [ "MultiViewport" ],
> +          "extensions" : [ "SPV_EXT_shader_viewport_index_layer" ]
> +        },
> +        {
>            "enumerant" : "ShaderViewportIndexLayerNV",
>            "value" : 5254,
>            "capabilities" : [ "MultiViewport" ],
> @@ -5720,6 +5644,21 @@
>            "value" : 5260,
>            "capabilities" : [ "MultiView" ],
>            "extensions" : [ "SPV_NVX_multiview_per_view_attributes" ]
> +        },
> +        {
> +          "enumerant" : "SubgroupShuffleINTEL",
> +          "value" : 5568,
> +          "extensions" : [ "SPV_INTEL_subgroups" ]
> +        },
> +        {
> +          "enumerant" : "SubgroupBufferBlockIOINTEL",
> +          "value" : 5569,
> +          "extensions" : [ "SPV_INTEL_subgroups" ]
> +        },
> +        {
> +          "enumerant" : "SubgroupImageBlockIOINTEL",
> +          "value" : 5570,
> +          "extensions" : [ "SPV_INTEL_subgroups" ]
>          }
>        ]
>      },
> diff --git a/src/compiler/spirv/spirv.h b/src/compiler/spirv/spirv.h
> index 61559a1..ac38ad7 100644
> --- a/src/compiler/spirv/spirv.h
> +++ b/src/compiler/spirv/spirv.h
> @@ -50,12 +50,12 @@
>  
>  typedef unsigned int SpvId;
>  
> -#define SPV_VERSION 0x10200
> -#define SPV_REVISION 1
> +#define SPV_VERSION 0x10000
> +#define SPV_REVISION 12
>  
>  static const unsigned int SpvMagicNumber = 0x07230203;
> -static const unsigned int SpvVersion = 0x00010200;
> -static const unsigned int SpvRevision = 1;
> +static const unsigned int SpvVersion = 0x00010000;
> +static const unsigned int SpvRevision = 12;
>  static const unsigned int SpvOpCodeMask = 0xffff;
>  static const unsigned int SpvWordCountShift = 16;
>  
> @@ -126,14 +126,8 @@ typedef enum SpvExecutionMode_ {
>      SpvExecutionModeOutputTriangleStrip = 29,
>      SpvExecutionModeVecTypeHint = 30,
>      SpvExecutionModeContractionOff = 31,
> -    SpvExecutionModeInitializer = 33,
> -    SpvExecutionModeFinalizer = 34,
> -    SpvExecutionModeSubgroupSize = 35,
> -    SpvExecutionModeSubgroupsPerWorkgroup = 36,
> -    SpvExecutionModeSubgroupsPerWorkgroupId = 37,
> -    SpvExecutionModeLocalSizeId = 38,
> -    SpvExecutionModeLocalSizeHintId = 39,
>      SpvExecutionModePostDepthCoverage = 4446,
> +    SpvExecutionModeStencilRefReplacingEXT = 5027,
>      SpvExecutionModeMax = 0x7fffffff,
>  } SpvExecutionMode;
>  
> @@ -388,9 +382,6 @@ typedef enum SpvDecoration_ {
>      SpvDecorationNoContraction = 42,
>      SpvDecorationInputAttachmentIndex = 43,
>      SpvDecorationAlignment = 44,
> -    SpvDecorationMaxByteOffset = 45,
> -    SpvDecorationAlignmentId = 46,
> -    SpvDecorationMaxByteOffsetId = 47,
>      SpvDecorationExplicitInterpAMD = 4999,
>      SpvDecorationOverrideCoverageNV = 5248,
>      SpvDecorationPassthroughNV = 5250,
> @@ -458,6 +449,7 @@ typedef enum SpvBuiltIn_ {
>      SpvBuiltInBaryCoordSmoothCentroidAMD = 4996,
>      SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
>      SpvBuiltInBaryCoordPullModelAMD = 4998,
> +    SpvBuiltInFragStencilRefEXT = 5014,
>      SpvBuiltInViewportMaskNV = 5253,
>      SpvBuiltInSecondaryPositionNV = 5257,
>      SpvBuiltInSecondaryViewportMaskNV = 5258,
> @@ -481,8 +473,6 @@ typedef enum SpvSelectionControlMask_ {
>  typedef enum SpvLoopControlShift_ {
>      SpvLoopControlUnrollShift = 0,
>      SpvLoopControlDontUnrollShift = 1,
> -    SpvLoopControlDependencyInfiniteShift = 2,
> -    SpvLoopControlDependencyLengthShift = 3,
>      SpvLoopControlMax = 0x7fffffff,
>  } SpvLoopControlShift;
>  
> @@ -490,8 +480,6 @@ typedef enum SpvLoopControlMask_ {
>      SpvLoopControlMaskNone = 0,
>      SpvLoopControlUnrollMask = 0x00000001,
>      SpvLoopControlDontUnrollMask = 0x00000002,
> -    SpvLoopControlDependencyInfiniteMask = 0x00000004,
> -    SpvLoopControlDependencyLengthMask = 0x00000008,
>  } SpvLoopControlMask;
>  
>  typedef enum SpvFunctionControlShift_ {
> @@ -642,9 +630,6 @@ typedef enum SpvCapability_ {
>      SpvCapabilityStorageImageReadWithoutFormat = 55,
>      SpvCapabilityStorageImageWriteWithoutFormat = 56,
>      SpvCapabilityMultiViewport = 57,
> -    SpvCapabilitySubgroupDispatch = 58,
> -    SpvCapabilityNamedBarrier = 59,
> -    SpvCapabilityPipeStorage = 60,
>      SpvCapabilitySubgroupBallotKHR = 4423,
>      SpvCapabilityDrawParameters = 4427,
>      SpvCapabilitySubgroupVoteKHR = 4431,
> @@ -661,12 +646,19 @@ typedef enum SpvCapability_ {
>      SpvCapabilityAtomicStorageOps = 4445,
>      SpvCapabilitySampleMaskPostDepthCoverage = 4447,
>      SpvCapabilityImageGatherBiasLodAMD = 5009,
> +    SpvCapabilityFragmentMaskAMD = 5010,
> +    SpvCapabilityStencilExportEXT = 5013,
> +    SpvCapabilityImageReadWriteLodAMD = 5015,
>      SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
>      SpvCapabilityGeometryShaderPassthroughNV = 5251,
> +    SpvCapabilityShaderViewportIndexLayerEXT = 5254,
>      SpvCapabilityShaderViewportIndexLayerNV = 5254,
>      SpvCapabilityShaderViewportMaskNV = 5255,
>      SpvCapabilityShaderStereoViewNV = 5259,
>      SpvCapabilityPerViewAttributesNV = 5260,
> +    SpvCapabilitySubgroupShuffleINTEL = 5568,
> +    SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
> +    SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
>      SpvCapabilityMax = 0x7fffffff,
>  } SpvCapability;
>  
> @@ -965,18 +957,6 @@ typedef enum SpvOp_ {
>      SpvOpAtomicFlagTestAndSet = 318,
>      SpvOpAtomicFlagClear = 319,
>      SpvOpImageSparseRead = 320,
> -    SpvOpSizeOf = 321,
> -    SpvOpTypePipeStorage = 322,
> -    SpvOpConstantPipeStorage = 323,
> -    SpvOpCreatePipeFromPipeStorage = 324,
> -    SpvOpGetKernelLocalSizeForSubgroupCount = 325,
> -    SpvOpGetKernelMaxNumSubgroups = 326,
> -    SpvOpTypeNamedBarrier = 327,
> -    SpvOpNamedBarrierInitialize = 328,
> -    SpvOpMemoryNamedBarrier = 329,
> -    SpvOpModuleProcessed = 330,
> -    SpvOpExecutionModeId = 331,
> -    SpvOpDecorateId = 332,
>      SpvOpSubgroupBallotKHR = 4421,
>      SpvOpSubgroupFirstInvocationKHR = 4422,
>      SpvOpSubgroupAllKHR = 4428,
> @@ -991,6 +971,16 @@ typedef enum SpvOp_ {
>      SpvOpGroupFMaxNonUniformAMD = 5005,
>      SpvOpGroupUMaxNonUniformAMD = 5006,
>      SpvOpGroupSMaxNonUniformAMD = 5007,
> +    SpvOpFragmentMaskFetchAMD = 5011,
> +    SpvOpFragmentFetchAMD = 5012,
> +    SpvOpSubgroupShuffleINTEL = 5571,
> +    SpvOpSubgroupShuffleDownINTEL = 5572,
> +    SpvOpSubgroupShuffleUpINTEL = 5573,
> +    SpvOpSubgroupShuffleXorINTEL = 5574,
> +    SpvOpSubgroupBlockReadINTEL = 5575,
> +    SpvOpSubgroupBlockWriteINTEL = 5576,
> +    SpvOpSubgroupImageBlockReadINTEL = 5577,
> +    SpvOpSubgroupImageBlockWriteINTEL = 5578,
>      SpvOpMax = 0x7fffffff,
>  } SpvOp;
>  
> -- 
> 2.9.5
> 


More information about the mesa-dev mailing list