[Mesa-dev] [PATCH 1/4] spirv: Update SPIR-V json and headers to Khronos master

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Sat Oct 13 14:35:06 UTC 2018


I don't think we actually need this? The SPV extensions are a bit older already.

Then again,

Acked-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
On Sat, Oct 13, 2018 at 3:49 PM Jason Ekstrand <jason at jlekstrand.net> wrote:
>
> This corresponds to commit 801cca8104245c07e8cc532 on GitHub.
> ---
>  src/compiler/spirv/spirv.core.grammar.json | 533 ++++++++++++++++++++-
>  src/compiler/spirv/spirv.h                 |  84 ++++
>  2 files changed, 604 insertions(+), 13 deletions(-)
>
> diff --git a/src/compiler/spirv/spirv.core.grammar.json b/src/compiler/spirv/spirv.core.grammar.json
> index cb641420d07..034e3ab4446 100644
> --- a/src/compiler/spirv/spirv.core.grammar.json
> +++ b/src/compiler/spirv/spirv.core.grammar.json
> @@ -3813,6 +3813,72 @@
>        "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
>        "version" : "None"
>      },
> +    {
> +      "opname" : "OpWritePackedPrimitiveIndices4x8NV",
> +      "opcode" : 5299,
> +      "operands" : [
> +        { "kind" : "IdRef", "name" : "'Index Offset'" },
> +        { "kind" : "IdRef", "name" : "'Packed Indices'" }
> +      ],
> +      "capabilities" : [ "MeshShadingNV" ],
> +      "extensions" : [ "SPV_NV_mesh_shader" ],
> +      "version" : "None"
> +    },
> +    {
> +      "opname" : "OpReportIntersectionNVX",
> +      "opcode" : 5334,
> +      "operands" : [
> +        { "kind" : "IdResultType" },
> +        { "kind" : "IdResult" },
> +        { "kind" : "IdRef", "name" : "'Hit'" },
> +        { "kind" : "IdRef", "name" : "'HitKind'" }
> +      ],
> +      "capabilities" : [ "RaytracingNVX" ],
> +      "extensions" : [ "SPV_NVX_raytracing" ]
> +    },
> +    {
> +      "opname" : "OpIgnoreIntersectionNVX",
> +      "opcode" : 5335,
> +
> +      "capabilities" : [ "RaytracingNVX" ],
> +      "extensions" : [ "SPV_NVX_raytracing" ]
> +    },
> +    {
> +      "opname" : "OpTerminateRayNVX",
> +      "opcode" : 5336,
> +
> +      "capabilities" : [ "RaytracingNVX" ],
> +      "extensions" : [ "SPV_NVX_raytracing" ]
> +    },
> +    {
> +      "opname" : "OpTraceNVX",
> +      "opcode" : 5337,
> +      "operands" : [
> +
> +        { "kind" : "IdRef", "name" : "'Accel'" },
> +        { "kind" : "IdRef", "name" : "'Ray Flags'" },
> +        { "kind" : "IdRef", "name" : "'Cull Mask'" },
> +        { "kind" : "IdRef", "name" : "'SBT Offset'" },
> +        { "kind" : "IdRef", "name" : "'SBT Stride'" },
> +        { "kind" : "IdRef", "name" : "'Miss Index'" },
> +        { "kind" : "IdRef", "name" : "'Ray Origin'" },
> +        { "kind" : "IdRef", "name" : "'Ray Tmin'" },
> +        { "kind" : "IdRef", "name" : "'Ray Direction'" },
> +        { "kind" : "IdRef", "name" : "'Ray Tmax'" },
> +        { "kind" : "IdRef", "name" : "'PayloadId'" }
> +      ],
> +      "capabilities" : [ "RaytracingNVX" ],
> +      "extensions" : [ "SPV_NVX_raytracing" ]
> +    },
> +    {
> +      "opname" : "OpTypeAccelerationStructureNVX",
> +      "opcode" : 5341,
> +      "operands" : [
> +        { "kind" : "IdResult" }
> +      ],
> +      "capabilities" : [ "RaytracingNVX" ],
> +      "extensions" : [ "SPV_NVX_raytracing" ]
> +    },
>      {
>        "opname" : "OpSubgroupShuffleINTEL",
>        "opcode" : 5571,
> @@ -3939,6 +4005,22 @@
>        "capabilities" : [ "GroupNonUniformPartitionedNV" ],
>        "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
>        "version" : "None"
> +    },
> +       {
> +      "opname" : "OpImageSampleFootprintNV",
> +      "opcode" : 5283,
> +      "operands" : [
> +        { "kind" : "IdResultType" },
> +        { "kind" : "IdResult" },
> +        { "kind" : "IdRef", "name" : "'Sampled Image'" },
> +        { "kind" : "IdRef", "name" : "'Coordinate'" },
> +        { "kind" : "IdRef", "name" : "'Granularity'" },
> +        { "kind" : "IdRef", "name" : "'Coarse'" },
> +        { "kind" : "ImageOperands", "quantifier" : "?" }
> +      ],
> +      "capabilities" : [ "ImageFootprintNV" ],
> +      "extensions" : [ "SPV_NV_shader_image_footprint" ],
> +      "version" : "None"
>      }
>    ],
>    "operand_kinds" : [
> @@ -4010,6 +4092,32 @@
>            "parameters" : [
>              { "kind" : "IdRef" }
>            ]
> +        },
> +        {
> +          "enumerant" : "MakeTexelAvailableKHR",
> +          "value" : "0x0100",
> +          "capabilities" : [ "VulkanMemoryModelKHR" ],
> +          "parameters" : [
> +            { "kind" : "IdScope" }
> +          ]
> +        },
> +        {
> +          "enumerant" : "MakeTexelVisibleKHR",
> +          "value" : "0x0200",
> +          "capabilities" : [ "VulkanMemoryModelKHR" ],
> +          "parameters" : [
> +            { "kind" : "IdScope" }
> +          ]
> +        },
> +        {
> +          "enumerant" : "NonPrivateTexelKHR",
> +          "value" : "0x0400",
> +          "capabilities" : [ "VulkanMemoryModelKHR" ]
> +        },
> +        {
> +          "enumerant" : "VolatileTexelKHR",
> +          "value" : "0x0800",
> +          "capabilities" : [ "VulkanMemoryModelKHR" ]
>          }
>        ]
>      },
> @@ -4176,6 +4284,21 @@
>          {
>            "enumerant" : "ImageMemory",
>            "value" : "0x0800"
> +        },
> +        {
> +          "enumerant" : "OutputMemoryKHR",
> +          "value" : "0x1000",
> +          "capabilities" : [ "VulkanMemoryModelKHR" ]
> +        },
> +        {
> +          "enumerant" : "MakeAvailableKHR",
> +          "value" : "0x2000",
> +          "capabilities" : [ "VulkanMemoryModelKHR" ]
> +        },
> +        {
> +          "enumerant" : "MakeVisibleKHR",
> +          "value" : "0x4000",
> +          "capabilities" : [ "VulkanMemoryModelKHR" ]
>          }
>        ]
>      },
> @@ -4201,6 +4324,27 @@
>          {
>            "enumerant" : "Nontemporal",
>            "value" : "0x0004"
> +        },
> +        {
> +          "enumerant" : "MakePointerAvailableKHR",
> +          "value" : "0x0008",
> +          "parameters" : [
> +            { "kind" : "IdScope" }
> +          ],
> +          "capabilities" : [ "VulkanMemoryModelKHR" ]
> +        },
> +        {
> +          "enumerant" : "MakePointerVisibleKHR",
> +          "value" : "0x0010",
> +          "parameters" : [
> +            { "kind" : "IdScope" }
> +          ],
> +          "capabilities" : [ "VulkanMemoryModelKHR" ]
> +        },
> +        {
> +          "enumerant" : "NonPrivatePointerKHR",
> +          "value" : "0x0020",
> +          "capabilities" : [ "VulkanMemoryModelKHR" ]
>          }
>        ]
>      },
> @@ -4287,6 +4431,46 @@
>            "enumerant" : "Kernel",
>            "value" : 6,
>            "capabilities" : [ "Kernel" ]
> +        },
> +        {
> +          "enumerant" : "TaskNV",
> +          "value" : 5267,
> +          "capabilities" : [ "MeshShadingNV" ]
> +        },
> +        {
> +          "enumerant" : "MeshNV",
> +          "value" : 5268,
> +          "capabilities" : [ "MeshShadingNV" ]
> +        },
> +        {
> +          "enumerant" : "RayGenerationNVX",
> +          "value" : 5313,
> +          "capabilities" : [ "RaytracingNVX" ]
> +        },
> +        {
> +          "enumerant" : "IntersectionNVX",
> +          "value" : 5314,
> +          "capabilities" : [ "RaytracingNVX" ]
> +        },
> +        {
> +          "enumerant" : "AnyHitNVX",
> +          "value" : 5315,
> +          "capabilities" : [ "RaytracingNVX" ]
> +        },
> +        {
> +          "enumerant" : "ClosestHitNVX",
> +          "value" : 5316,
> +          "capabilities" : [ "RaytracingNVX" ]
> +        },
> +        {
> +          "enumerant" : "MissNVX",
> +          "value" : 5317,
> +          "capabilities" : [ "RaytracingNVX" ]
> +        },
> +        {
> +          "enumerant" : "CallableNVX",
> +          "value" : 5318,
> +          "capabilities" : [ "RaytracingNVX" ]
>          }
>        ]
>      },
> @@ -4328,6 +4512,11 @@
>            "enumerant" : "OpenCL",
>            "value" : 2,
>            "capabilities" : [ "Kernel" ]
> +        },
> +        {
> +          "enumerant" : "VulkanKHR",
> +          "value" : 3,
> +          "capabilities" : [ "VulkanMemoryModelKHR" ]
>          }
>        ]
>      },
> @@ -4475,7 +4664,7 @@
>          {
>            "enumerant" : "OutputVertices",
>            "value" : 26,
> -          "capabilities" : [ "Geometry", "Tessellation" ],
> +          "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV" ],
>            "parameters" : [
>              { "kind" : "LiteralInteger", "name" : "'Vertex count'" }
>            ]
> @@ -4483,7 +4672,7 @@
>          {
>            "enumerant" : "OutputPoints",
>            "value" : 27,
> -          "capabilities" : [ "Geometry" ]
> +          "capabilities" : [ "Geometry", "MeshShadingNV" ]
>          },
>          {
>            "enumerant" : "OutputLineStrip",
> @@ -4579,6 +4768,44 @@
>            "capabilities" : [ "StencilExportEXT" ],
>            "extensions" : [ "SPV_EXT_shader_stencil_export" ],
>            "version" : "None"
> +        },
> +        {
> +          "enumerant" : "OutputLinesNV",
> +          "value" : 5269,
> +          "capabilities" : [ "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "OutputPrimitivesNV",
> +          "value" : 5270,
> +          "capabilities" : [ "MeshShadingNV" ],
> +          "parameters" : [
> +            { "kind" : "LiteralInteger", "name" : "'Primitive count'" }
> +          ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "DerivativeGroupQuadsNV",
> +          "value" : 5289,
> +          "capabilities" : [ "ComputeDerivativeGroupQuadsNV" ],
> +          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "DerivativeGroupLinearNV",
> +          "value" : 5290,
> +          "capabilities" : [ "ComputeDerivativeGroupLinearNV" ],
> +          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "OutputTrianglesNV",
> +          "value" : 5298,
> +          "capabilities" : [ "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
>          }
>        ]
>      },
> @@ -4649,6 +4876,30 @@
>            ],
>            "capabilities" : [ "Shader" ],
>            "version" : "1.3"
> +        },
> +        {
> +          "enumerant" : "RayPayloadNVX",
> +          "value" : 5338,
> +          "extensions" : [ "SPV_NVX_raytracing" ],
> +          "capabilities" : [ "RaytracingNVX" ]
> +        },
> +        {
> +          "enumerant" : "HitAttributeNVX",
> +          "value" : 5339,
> +          "extensions" : [ "SPV_NVX_raytracing" ],
> +          "capabilities" : [ "RaytracingNVX" ]
> +        },
> +        {
> +          "enumerant" : "IncomingRayPayloadNVX",
> +          "value" : 5342,
> +          "extensions" : [ "SPV_NVX_raytracing" ],
> +          "capabilities" : [ "RaytracingNVX" ]
> +        },
> +{
> +          "enumerant" : "ShaderRecordBufferNVX",
> +          "value" : 5343,
> +          "extensions" : [ "SPV_NVX_raytracing" ],
> +          "capabilities" : [ "RaytracingNVX" ]
>          }
>        ]
>      },
> @@ -4659,11 +4910,12 @@
>          {
>            "enumerant" : "1D",
>            "value" : 0,
> -          "capabilities" : [ "Sampled1D" ]
> +          "capabilities" : [ "Sampled1D", "Image1D" ]
>          },
>          {
>            "enumerant" : "2D",
> -          "value" : 1
> +          "value" : 1,
> +          "capabilities" : [ "Shader", "Kernel", "ImageMSArray" ]
>          },
>          {
>            "enumerant" : "3D",
> @@ -4672,17 +4924,17 @@
>          {
>            "enumerant" : "Cube",
>            "value" : 3,
> -          "capabilities" : [ "Shader" ]
> +          "capabilities" : [ "Shader", "ImageCubeArray" ]
>          },
>          {
>            "enumerant" : "Rect",
>            "value" : 4,
> -          "capabilities" : [ "SampledRect" ]
> +          "capabilities" : [ "SampledRect", "ImageRect" ]
>          },
>          {
>            "enumerant" : "Buffer",
>            "value" : 5,
> -          "capabilities" : [ "SampledBuffer" ]
> +          "capabilities" : [ "SampledBuffer", "ImageBuffer" ]
>          },
>          {
>            "enumerant" : "SubpassData",
> @@ -5577,6 +5829,34 @@
>              { "kind" : "LiteralInteger", "name" : "'Offset'" }
>            ]
>          },
> +        {
> +          "enumerant" : "PerPrimitiveNV",
> +          "value" : 5271,
> +          "capabilities" : [ "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "PerViewNV",
> +          "value" : 5272,
> +          "capabilities" : [ "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "PerTaskNV",
> +          "value" : 5273,
> +          "capabilities" : [ "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
> +        },
> +               {
> +          "enumerant" : "PerVertexNV",
> +          "value" : 5285,
> +          "capabilities" : [ "FragmentBarycentricNV" ],
> +          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
> +          "version" : "None"
> +        },
>          {
>            "enumerant" : "NonUniformEXT",
>            "value" : 5300,
> @@ -5639,7 +5919,7 @@
>          {
>            "enumerant" : "PrimitiveId",
>            "value" : 7,
> -          "capabilities" : [ "Geometry", "Tessellation" ]
> +          "capabilities" : [ "Geometry", "Tessellation", "RaytracingNVX" ]
>          },
>          {
>            "enumerant" : "InvocationId",
> @@ -5887,8 +6167,8 @@
>          {
>            "enumerant" : "DrawIndex",
>            "value" : 4426,
> -          "capabilities" : [ "DrawParameters" ],
> -          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
> +          "capabilities" : [ "DrawParameters", "MeshShadingNV" ],
> +          "extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader" ],
>            "version" : "1.3"
>          },
>          {
> @@ -5957,7 +6237,8 @@
>          {
>            "enumerant" : "ViewportMaskNV",
>            "value" : 5253,
> -          "capabilities" : [ "ShaderViewportMaskNV" ],
> +          "capabilities" : [ "ShaderViewportMaskNV", "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NV_viewport_array2", "SPV_NV_mesh_shader" ],
>            "version" : "None"
>          },
>          {
> @@ -5977,13 +6258,15 @@
>          {
>            "enumerant" : "PositionPerViewNV",
>            "value" : 5261,
> -          "capabilities" : [ "PerViewAttributesNV" ],
> +          "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
>            "version" : "None"
>          },
>          {
>            "enumerant" : "ViewportMaskPerViewNV",
>            "value" : 5262,
> -          "capabilities" : [ "PerViewAttributesNV" ],
> +          "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
>            "version" : "None"
>          },
>          {
> @@ -5992,6 +6275,168 @@
>            "capabilities" : [ "FragmentFullyCoveredEXT" ],
>            "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
>            "version" : "None"
> +        },
> +        {
> +          "enumerant" : "TaskCountNV",
> +          "value" : 5274,
> +          "capabilities" : [ "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "PrimitiveCountNV",
> +          "value" : 5275,
> +          "capabilities" : [ "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "PrimitiveIndicesNV",
> +          "value" : 5276,
> +          "capabilities" : [ "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "ClipDistancePerViewNV",
> +          "value" : 5277,
> +          "capabilities" : [ "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "CullDistancePerViewNV",
> +          "value" : 5278,
> +          "capabilities" : [ "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "LayerPerViewNV",
> +          "value" : 5279,
> +          "capabilities" : [ "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "MeshViewCountNV",
> +          "value" : 5280,
> +          "capabilities" : [ "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "MeshViewIndicesNV",
> +          "value" : 5281,
> +          "capabilities" : [ "MeshShadingNV" ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "BaryCoordNV",
> +          "value" : 5286,
> +          "capabilities" : [ "FragmentBarycentricNV" ],
> +          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "BaryCoordNoPerspNV",
> +          "value" : 5287,
> +          "capabilities" : [ "FragmentBarycentricNV" ],
> +          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "FragmentSizeNV",
> +          "value" : 5292 ,
> +          "capabilities" : [ "ShadingRateNV" ],
> +          "extensions" : [ "SPV_NV_shading_rate" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "InvocationsPerPixelNV",
> +          "value" : 5293,
> +          "capabilities" : [ "ShadingRateNV" ],
> +          "extensions" : [ "SPV_NV_shading_rate" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "LaunchIdNVX",
> +          "value" : 5319,
> +          "capabilities" : [ "RaytracingNVX" ],
> +          "extensions" : [ "SPV_NVX_raytracing" ]
> +        },
> +        {
> +          "enumerant" : "LaunchSizeNVX",
> +          "value" : 5320,
> +          "capabilities" : [ "RaytracingNVX" ],
> +          "extensions" : [ "SPV_NVX_raytracing" ]
> +        },
> +        {
> +          "enumerant" : "WorldRayOriginNVX",
> +          "value" : 5321,
> +          "capabilities" : [ "RaytracingNVX" ],
> +          "extensions" : [ "SPV_NVX_raytracing" ]
> +        },
> +        {
> +          "enumerant" : "WorldRayDirectionNVX",
> +          "value" : 5322,
> +          "capabilities" : [ "RaytracingNVX" ],
> +          "extensions" : [ "SPV_NVX_raytracing" ]
> +        },
> +        {
> +          "enumerant" : "ObjectRayOriginNVX",
> +          "value" : 5323,
> +          "capabilities" : [ "RaytracingNVX" ],
> +          "extensions" : [ "SPV_NVX_raytracing" ]
> +        },
> +        {
> +          "enumerant" : "ObjectRayDirectionNVX",
> +          "value" : 5324,
> +          "capabilities" : [ "RaytracingNVX" ],
> +          "extensions" : [ "SPV_NVX_raytracing" ]
> +        },
> +        {
> +          "enumerant" : "RayTminNVX",
> +          "value" : 5325,
> +          "capabilities" : [ "RaytracingNVX" ],
> +          "extensions" : [ "SPV_NVX_raytracing" ]
> +        },
> +        {
> +          "enumerant" : "RayTmaxNVX",
> +          "value" : 5326,
> +          "capabilities" : [ "RaytracingNVX" ],
> +          "extensions" : [ "SPV_NVX_raytracing" ]
> +        },
> +        {
> +          "enumerant" : "InstanceCustomIndexNVX",
> +          "value" : 5327,
> +          "capabilities" : [ "RaytracingNVX" ],
> +          "extensions" : [ "SPV_NVX_raytracing" ]
> +        },
> +        {
> +          "enumerant" : "ObjectToWorldNVX",
> +          "value" : 5330,
> +          "capabilities" : [ "RaytracingNVX" ],
> +          "extensions" : [ "SPV_NVX_raytracing" ]
> +        },
> +        {
> +          "enumerant" : "WorldToObjectNVX",
> +          "value" : 5331,
> +          "capabilities" : [ "RaytracingNVX" ],
> +          "extensions" : [ "SPV_NVX_raytracing" ]
> +        },
> +        {
> +          "enumerant" : "HitTNVX",
> +          "value" : 5332,
> +          "capabilities" : [ "RaytracingNVX" ],
> +          "extensions" : [ "SPV_NVX_raytracing" ]
> +        },
> +        {
> +          "enumerant" : "HitKindNVX",
> +          "value" : 5333,
> +          "capabilities" : [ "RaytracingNVX" ],
> +          "extensions" : [ "SPV_NVX_raytracing" ]
>          }
>        ]
>      },
> @@ -6018,6 +6463,11 @@
>          {
>            "enumerant" : "Invocation",
>            "value" : 4
> +        },
> +        {
> +          "enumerant" : "QueueFamilyKHR",
> +          "value" : 5,
> +          "capabilities" : [ "VulkanMemoryModelKHR" ]
>          }
>        ]
>      },
> @@ -6639,6 +7089,13 @@
>            "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
>            "version" : "None"
>          },
> +        {
> +          "enumerant" : "MeshShadingNV",
> +          "value" : 5266,
> +          "capabilities" : [ "Shader" ],
> +          "extensions" : [ "SPV_NV_mesh_shader" ],
> +          "version" : "None"
> +        },
>          {
>            "enumerant" : "ShaderNonUniformEXT",
>            "value" : 5301,
> @@ -6723,6 +7180,13 @@
>            "extensions" : [ "SPV_EXT_descriptor_indexing" ],
>            "version" : "None"
>          },
> +        {
> +          "enumerant" : "RaytracingNVX",
> +          "value" : 5340,
> +          "capabilities" : [ "Shader" ],
> +          "extensions" : [ "SPV_NVX_raytracing" ],
> +          "version" : "None"
> +        },
>          {
>            "enumerant" : "SubgroupShuffleINTEL",
>            "value" : 5568,
> @@ -6746,6 +7210,49 @@
>            "value" : 5297,
>            "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
>            "version" : "None"
> +        },
> +        {
> +          "enumerant" : "VulkanMemoryModelKHR",
> +          "value" : 5345,
> +          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "VulkanMemoryModelDeviceScopeKHR",
> +          "value" : 5346,
> +          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "ImageFootprintNV",
> +          "value" : 5282,
> +          "extensions" : [ "SPV_NV_shader_image_footprint" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "FragmentBarycentricNV",
> +          "value" : 5284,
> +          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "ComputeDerivativeGroupQuadsNV",
> +          "value" : 5288,
> +          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "ComputeDerivativeGroupLinearNV",
> +          "value" : 5350,
> +          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
> +          "version" : "None"
> +        },
> +        {
> +          "enumerant" : "ShadingRateNV",
> +          "value" : 5291,
> +          "capabilities" : [ "Shader" ],
> +          "extensions" : [ "SPV_NV_shading_rate" ],
> +          "version" : "None"
>          }
>        ]
>      },
> diff --git a/src/compiler/spirv/spirv.h b/src/compiler/spirv/spirv.h
> index 4c90c936ce0..2965534566b 100644
> --- a/src/compiler/spirv/spirv.h
> +++ b/src/compiler/spirv/spirv.h
> @@ -77,6 +77,14 @@ typedef enum SpvExecutionModel_ {
>      SpvExecutionModelFragment = 4,
>      SpvExecutionModelGLCompute = 5,
>      SpvExecutionModelKernel = 6,
> +    SpvExecutionModelTaskNV = 5267,
> +    SpvExecutionModelMeshNV = 5268,
> +    SpvExecutionModelRayGenerationNVX = 5313,
> +    SpvExecutionModelIntersectionNVX = 5314,
> +    SpvExecutionModelAnyHitNVX = 5315,
> +    SpvExecutionModelClosestHitNVX = 5316,
> +    SpvExecutionModelMissNVX = 5317,
> +    SpvExecutionModelCallableNVX = 5318,
>      SpvExecutionModelMax = 0x7fffffff,
>  } SpvExecutionModel;
>
> @@ -91,6 +99,7 @@ typedef enum SpvMemoryModel_ {
>      SpvMemoryModelSimple = 0,
>      SpvMemoryModelGLSL450 = 1,
>      SpvMemoryModelOpenCL = 2,
> +    SpvMemoryModelVulkanKHR = 3,
>      SpvMemoryModelMax = 0x7fffffff,
>  } SpvMemoryModel;
>
> @@ -135,6 +144,11 @@ typedef enum SpvExecutionMode_ {
>      SpvExecutionModeLocalSizeHintId = 39,
>      SpvExecutionModePostDepthCoverage = 4446,
>      SpvExecutionModeStencilRefReplacingEXT = 5027,
> +    SpvExecutionModeOutputLinesNV = 5269,
> +    SpvExecutionModeOutputPrimitivesNV = 5270,
> +    SpvExecutionModeDerivativeGroupQuadsNV = 5289,
> +    SpvExecutionModeDerivativeGroupLinearNV = 5290,
> +    SpvExecutionModeOutputTrianglesNV = 5298,
>      SpvExecutionModeMax = 0x7fffffff,
>  } SpvExecutionMode;
>
> @@ -152,6 +166,10 @@ typedef enum SpvStorageClass_ {
>      SpvStorageClassAtomicCounter = 10,
>      SpvStorageClassImage = 11,
>      SpvStorageClassStorageBuffer = 12,
> +    SpvStorageClassRayPayloadNVX = 5338,
> +    SpvStorageClassHitAttributeNVX = 5339,
> +    SpvStorageClassIncomingRayPayloadNVX = 5342,
> +    SpvStorageClassShaderRecordBufferNVX = 5343,
>      SpvStorageClassMax = 0x7fffffff,
>  } SpvStorageClass;
>
> @@ -279,6 +297,10 @@ typedef enum SpvImageOperandsShift_ {
>      SpvImageOperandsConstOffsetsShift = 5,
>      SpvImageOperandsSampleShift = 6,
>      SpvImageOperandsMinLodShift = 7,
> +    SpvImageOperandsMakeTexelAvailableKHRShift = 8,
> +    SpvImageOperandsMakeTexelVisibleKHRShift = 9,
> +    SpvImageOperandsNonPrivateTexelKHRShift = 10,
> +    SpvImageOperandsVolatileTexelKHRShift = 11,
>      SpvImageOperandsMax = 0x7fffffff,
>  } SpvImageOperandsShift;
>
> @@ -292,6 +314,10 @@ typedef enum SpvImageOperandsMask_ {
>      SpvImageOperandsConstOffsetsMask = 0x00000020,
>      SpvImageOperandsSampleMask = 0x00000040,
>      SpvImageOperandsMinLodMask = 0x00000080,
> +    SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
> +    SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
> +    SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400,
> +    SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
>  } SpvImageOperandsMask;
>
>  typedef enum SpvFPFastMathModeShift_ {
> @@ -397,6 +423,10 @@ typedef enum SpvDecoration_ {
>      SpvDecorationPassthroughNV = 5250,
>      SpvDecorationViewportRelativeNV = 5252,
>      SpvDecorationSecondaryViewportRelativeNV = 5256,
> +    SpvDecorationPerPrimitiveNV = 5271,
> +    SpvDecorationPerViewNV = 5272,
> +    SpvDecorationPerTaskNV = 5273,
> +    SpvDecorationPerVertexNV = 5285,
>      SpvDecorationNonUniformEXT = 5300,
>      SpvDecorationHlslCounterBufferGOOGLE = 5634,
>      SpvDecorationHlslSemanticGOOGLE = 5635,
> @@ -474,6 +504,31 @@ typedef enum SpvBuiltIn_ {
>      SpvBuiltInPositionPerViewNV = 5261,
>      SpvBuiltInViewportMaskPerViewNV = 5262,
>      SpvBuiltInFullyCoveredEXT = 5264,
> +    SpvBuiltInTaskCountNV = 5274,
> +    SpvBuiltInPrimitiveCountNV = 5275,
> +    SpvBuiltInPrimitiveIndicesNV = 5276,
> +    SpvBuiltInClipDistancePerViewNV = 5277,
> +    SpvBuiltInCullDistancePerViewNV = 5278,
> +    SpvBuiltInLayerPerViewNV = 5279,
> +    SpvBuiltInMeshViewCountNV = 5280,
> +    SpvBuiltInMeshViewIndicesNV = 5281,
> +    SpvBuiltInBaryCoordNV = 5286,
> +    SpvBuiltInBaryCoordNoPerspNV = 5287,
> +    SpvBuiltInFragmentSizeNV = 5292,
> +    SpvBuiltInInvocationsPerPixelNV = 5293,
> +    SpvBuiltInLaunchIdNVX = 5319,
> +    SpvBuiltInLaunchSizeNVX = 5320,
> +    SpvBuiltInWorldRayOriginNVX = 5321,
> +    SpvBuiltInWorldRayDirectionNVX = 5322,
> +    SpvBuiltInObjectRayOriginNVX = 5323,
> +    SpvBuiltInObjectRayDirectionNVX = 5324,
> +    SpvBuiltInRayTminNVX = 5325,
> +    SpvBuiltInRayTmaxNVX = 5326,
> +    SpvBuiltInInstanceCustomIndexNVX = 5327,
> +    SpvBuiltInObjectToWorldNVX = 5330,
> +    SpvBuiltInWorldToObjectNVX = 5331,
> +    SpvBuiltInHitTNVX = 5332,
> +    SpvBuiltInHitKindNVX = 5333,
>      SpvBuiltInMax = 0x7fffffff,
>  } SpvBuiltIn;
>
> @@ -532,6 +587,9 @@ typedef enum SpvMemorySemanticsShift_ {
>      SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
>      SpvMemorySemanticsAtomicCounterMemoryShift = 10,
>      SpvMemorySemanticsImageMemoryShift = 11,
> +    SpvMemorySemanticsOutputMemoryKHRShift = 12,
> +    SpvMemorySemanticsMakeAvailableKHRShift = 13,
> +    SpvMemorySemanticsMakeVisibleKHRShift = 14,
>      SpvMemorySemanticsMax = 0x7fffffff,
>  } SpvMemorySemanticsShift;
>
> @@ -547,12 +605,18 @@ typedef enum SpvMemorySemanticsMask_ {
>      SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
>      SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400,
>      SpvMemorySemanticsImageMemoryMask = 0x00000800,
> +    SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,
> +    SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,
> +    SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,
>  } SpvMemorySemanticsMask;
>
>  typedef enum SpvMemoryAccessShift_ {
>      SpvMemoryAccessVolatileShift = 0,
>      SpvMemoryAccessAlignedShift = 1,
>      SpvMemoryAccessNontemporalShift = 2,
> +    SpvMemoryAccessMakePointerAvailableKHRShift = 3,
> +    SpvMemoryAccessMakePointerVisibleKHRShift = 4,
> +    SpvMemoryAccessNonPrivatePointerKHRShift = 5,
>      SpvMemoryAccessMax = 0x7fffffff,
>  } SpvMemoryAccessShift;
>
> @@ -561,6 +625,9 @@ typedef enum SpvMemoryAccessMask_ {
>      SpvMemoryAccessVolatileMask = 0x00000001,
>      SpvMemoryAccessAlignedMask = 0x00000002,
>      SpvMemoryAccessNontemporalMask = 0x00000004,
> +    SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008,
> +    SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
> +    SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
>  } SpvMemoryAccessMask;
>
>  typedef enum SpvScope_ {
> @@ -569,6 +636,7 @@ typedef enum SpvScope_ {
>      SpvScopeWorkgroup = 2,
>      SpvScopeSubgroup = 3,
>      SpvScopeInvocation = 4,
> +    SpvScopeQueueFamilyKHR = 5,
>      SpvScopeMax = 0x7fffffff,
>  } SpvScope;
>
> @@ -699,6 +767,11 @@ typedef enum SpvCapability_ {
>      SpvCapabilityShaderStereoViewNV = 5259,
>      SpvCapabilityPerViewAttributesNV = 5260,
>      SpvCapabilityFragmentFullyCoveredEXT = 5265,
> +    SpvCapabilityMeshShadingNV = 5266,
> +    SpvCapabilityImageFootprintNV = 5282,
> +    SpvCapabilityFragmentBarycentricNV = 5284,
> +    SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
> +    SpvCapabilityShadingRateNV = 5291,
>      SpvCapabilityGroupNonUniformPartitionedNV = 5297,
>      SpvCapabilityShaderNonUniformEXT = 5301,
>      SpvCapabilityRuntimeDescriptorArrayEXT = 5302,
> @@ -712,6 +785,10 @@ typedef enum SpvCapability_ {
>      SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
>      SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
>      SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
> +    SpvCapabilityRaytracingNVX = 5340,
> +    SpvCapabilityVulkanMemoryModelKHR = 5345,
> +    SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
> +    SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
>      SpvCapabilitySubgroupShuffleINTEL = 5568,
>      SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
>      SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
> @@ -1075,7 +1152,14 @@ typedef enum SpvOp_ {
>      SpvOpGroupSMaxNonUniformAMD = 5007,
>      SpvOpFragmentMaskFetchAMD = 5011,
>      SpvOpFragmentFetchAMD = 5012,
> +    SpvOpImageSampleFootprintNV = 5283,
>      SpvOpGroupNonUniformPartitionNV = 5296,
> +    SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
> +    SpvOpReportIntersectionNVX = 5334,
> +    SpvOpIgnoreIntersectionNVX = 5335,
> +    SpvOpTerminateRayNVX = 5336,
> +    SpvOpTraceNVX = 5337,
> +    SpvOpTypeAccelerationStructureNVX = 5341,
>      SpvOpSubgroupShuffleINTEL = 5571,
>      SpvOpSubgroupShuffleDownINTEL = 5572,
>      SpvOpSubgroupShuffleUpINTEL = 5573,
> --
> 2.19.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list