From b7397b09d5474e783b3d0e404cdee82b9dc31345 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Sat, 13 Oct 2018 08:23:37 -0500 Subject: [PATCH] spirv: Update SPIR-V json and headers to Khronos master This corresponds to commit 801cca8104245c07e8cc532 on GitHub. Acked-by: Bas Nieuwenhuizen --- 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.30.2