I don't think we actually need this? The SPV extensions are a bit older already.
Then again, Acked-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> On Sat, Oct 13, 2018 at 3:49 PM Jason Ekstrand <ja...@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@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev