[Mesa-dev] [PATCH 03/10] spirv: Import the latest 1.0.12 header and JSON from Khronos
Ian Romanick
idr at freedesktop.org
Mon Nov 13 21:36:37 UTC 2017
On 11/12/2017 02:53 PM, Eric Engestrom wrote:
> 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/
Yes... it looks like this file changed from under me, and I didn't
notice while rebasing. I'll pull the newest 1.2, and hopefully that
won't cause problems for my scripts.
>> "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