[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