[Mesa-dev] [PATCH 1/4] spirv: Update SPIR-V json and headers to Khronos master
Jason Ekstrand
jason at jlekstrand.net
Sat Oct 13 13:48:31 UTC 2018
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
More information about the mesa-dev
mailing list