From 27af1cc2a6c7d8f623f60d1499d2de2acf931534 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Sat, 19 Jan 2019 09:21:33 -0600 Subject: [PATCH] spirv: Update the JSON and headers from Khronos master This corresponds to commit 79b6681aadcb53c27d1052e on GitHub. Reviewed-by: Bas Nieuwenhuizen --- src/compiler/spirv/spirv.core.grammar.json | 367 ++++++++++++++++++++++------- src/compiler/spirv/spirv.h | 93 +++++--- 2 files changed, 336 insertions(+), 124 deletions(-) diff --git a/src/compiler/spirv/spirv.core.grammar.json b/src/compiler/spirv/spirv.core.grammar.json index 034e3ab4446..4739bfe94ea 100644 --- a/src/compiler/spirv/spirv.core.grammar.json +++ b/src/compiler/spirv/spirv.core.grammar.json @@ -339,7 +339,10 @@ { "kind" : "IdRef", "name" : "'Pointer Type'" }, { "kind" : "StorageClass" } ], - "capabilities" : [ "Addresses" ] + "capabilities" : [ + "Addresses", + "PhysicalStorageBufferAddressesEXT" + ] }, { "opname" : "OpConstantTrue", @@ -563,7 +566,8 @@ "capabilities" : [ "Addresses", "VariablePointers", - "VariablePointersStorageBuffer" + "VariablePointersStorageBuffer", + "PhysicalStorageBufferAddressesEXT" ] }, { @@ -1048,7 +1052,10 @@ { "kind" : "IdResult" }, { "kind" : "IdRef", "name" : "'Pointer'" } ], - "capabilities" : [ "Addresses" ] + "capabilities" : [ + "Addresses", + "PhysicalStorageBufferAddressesEXT" + ] }, { "opname" : "OpSatConvertSToU", @@ -1078,7 +1085,10 @@ { "kind" : "IdResult" }, { "kind" : "IdRef", "name" : "'Integer Value'" } ], - "capabilities" : [ "Addresses" ] + "capabilities" : [ + "Addresses", + "PhysicalStorageBufferAddressesEXT" + ] }, { "opname" : "OpPtrCastToGeneric", @@ -3825,7 +3835,7 @@ "version" : "None" }, { - "opname" : "OpReportIntersectionNVX", + "opname" : "OpReportIntersectionNV", "opcode" : 5334, "operands" : [ { "kind" : "IdResultType" }, @@ -3833,25 +3843,25 @@ { "kind" : "IdRef", "name" : "'Hit'" }, { "kind" : "IdRef", "name" : "'HitKind'" } ], - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "opname" : "OpIgnoreIntersectionNVX", + "opname" : "OpIgnoreIntersectionNV", "opcode" : 5335, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "opname" : "OpTerminateRayNVX", + "opname" : "OpTerminateRayNV", "opcode" : 5336, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "opname" : "OpTraceNVX", + "opname" : "OpTraceNV", "opcode" : 5337, "operands" : [ @@ -3867,17 +3877,28 @@ { "kind" : "IdRef", "name" : "'Ray Tmax'" }, { "kind" : "IdRef", "name" : "'PayloadId'" } ], - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "opname" : "OpTypeAccelerationStructureNVX", + "opname" : "OpTypeAccelerationStructureNV", "opcode" : 5341, "operands" : [ { "kind" : "IdResult" } ], - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] + }, + { + "opname" : "OpExecuteCallableNV", + "opcode" : 5344, + "operands" : [ + + { "kind" : "IdRef", "name" : "'SBT Index'" }, + { "kind" : "IdRef", "name" : "'Callable DataId'" } + ], + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { "opname" : "OpSubgroupShuffleINTEL", @@ -4443,34 +4464,34 @@ "capabilities" : [ "MeshShadingNV" ] }, { - "enumerant" : "RayGenerationNVX", + "enumerant" : "RayGenerationNV", "value" : 5313, - "capabilities" : [ "RaytracingNVX" ] + "capabilities" : [ "RayTracingNV" ] }, { - "enumerant" : "IntersectionNVX", + "enumerant" : "IntersectionNV", "value" : 5314, - "capabilities" : [ "RaytracingNVX" ] + "capabilities" : [ "RayTracingNV" ] }, { - "enumerant" : "AnyHitNVX", + "enumerant" : "AnyHitNV", "value" : 5315, - "capabilities" : [ "RaytracingNVX" ] + "capabilities" : [ "RayTracingNV" ] }, { - "enumerant" : "ClosestHitNVX", + "enumerant" : "ClosestHitNV", "value" : 5316, - "capabilities" : [ "RaytracingNVX" ] + "capabilities" : [ "RayTracingNV" ] }, { - "enumerant" : "MissNVX", + "enumerant" : "MissNV", "value" : 5317, - "capabilities" : [ "RaytracingNVX" ] + "capabilities" : [ "RayTracingNV" ] }, { - "enumerant" : "CallableNVX", + "enumerant" : "CallableNV", "value" : 5318, - "capabilities" : [ "RaytracingNVX" ] + "capabilities" : [ "RayTracingNV" ] } ] }, @@ -4491,6 +4512,12 @@ "enumerant" : "Physical64", "value" : 2, "capabilities" : [ "Addresses" ] + }, + { + "enumerant" : "PhysicalStorageBuffer64EXT", + "value" : 5348, + "extensions" : [ "SPV_EXT_physical_storage_buffer" ], + "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ] } ] }, @@ -4762,6 +4789,56 @@ "extensions" : [ "SPV_KHR_post_depth_coverage" ], "version" : "None" }, +{ + "enumerant" : "DenormPreserve", + "value" : 4459, + "capabilities" : [ "DenormPreserve"], + "extensions" : [ "SPV_KHR_float_controls" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "'Target Width'" } + ], + "version" : "None" + }, + { + "enumerant" : "DenormFlushToZero", + "value" : 4460, + "capabilities" : [ "DenormFlushToZero"], + "extensions" : [ "SPV_KHR_float_controls" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "'Target Width'" } + ], + "version" : "None" + }, + { + "enumerant" : "SignedZeroInfNanPreserve", + "value" : 4461, + "capabilities" : [ "SignedZeroInfNanPreserve"], + "extensions" : [ "SPV_KHR_float_controls" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "'Target Width'" } + ], + "version" : "None" + }, + { + "enumerant" : "RoundingModeRTE", + "value" : 4462, + "capabilities" : [ "RoundingModeRTE"], + "extensions" : [ "SPV_KHR_float_controls" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "'Target Width'" } + ], + "version" : "None" + }, + { + "enumerant" : "RoundingModeRTZ", + "value" : 4463, + "capabilities" : [ "RoundingModeRTZ"], + "extensions" : [ "SPV_KHR_float_controls" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "'Target Width'" } + ], + "version" : "None" + }, { "enumerant" : "StencilRefReplacingEXT", "value" : 5027, @@ -4878,28 +4955,46 @@ "version" : "1.3" }, { - "enumerant" : "RayPayloadNVX", + "enumerant" : "CallableDataNV", + "value" : 5328, + "extensions" : [ "SPV_NV_ray_tracing" ], + "capabilities" : [ "RayTracingNV" ] + }, + { + "enumerant" : "IncomingCallableDataNV", + "value" : 5329, + "extensions" : [ "SPV_NV_ray_tracing" ], + "capabilities" : [ "RayTracingNV" ] + }, + { + "enumerant" : "RayPayloadNV", "value" : 5338, - "extensions" : [ "SPV_NVX_raytracing" ], - "capabilities" : [ "RaytracingNVX" ] + "extensions" : [ "SPV_NV_ray_tracing" ], + "capabilities" : [ "RayTracingNV" ] }, { - "enumerant" : "HitAttributeNVX", + "enumerant" : "HitAttributeNV", "value" : 5339, - "extensions" : [ "SPV_NVX_raytracing" ], - "capabilities" : [ "RaytracingNVX" ] + "extensions" : [ "SPV_NV_ray_tracing" ], + "capabilities" : [ "RayTracingNV" ] }, { - "enumerant" : "IncomingRayPayloadNVX", + "enumerant" : "IncomingRayPayloadNV", "value" : 5342, - "extensions" : [ "SPV_NVX_raytracing" ], - "capabilities" : [ "RaytracingNVX" ] + "extensions" : [ "SPV_NV_ray_tracing" ], + "capabilities" : [ "RayTracingNV" ] }, -{ - "enumerant" : "ShaderRecordBufferNVX", + { + "enumerant" : "ShaderRecordBufferNV", "value" : 5343, - "extensions" : [ "SPV_NVX_raytracing" ], - "capabilities" : [ "RaytracingNVX" ] + "extensions" : [ "SPV_NV_ray_tracing" ], + "capabilities" : [ "RayTracingNV" ] + }, + { + "enumerant" : "PhysicalStorageBufferEXT", + "value" : 5349, + "extensions" : [ "SPV_EXT_physical_storage_buffer" ], + "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ] } ] }, @@ -5794,6 +5889,18 @@ "version" : "1.2" }, { + "enumerant" : "NoSignedWrap", + "value" : 4469, + "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ], + "version" : "None" + }, + { + "enumerant" : "NoUnsignedWrap", + "value" : 4470, + "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ], + "version" : "None" + }, + { "enumerant" : "ExplicitInterpAMD", "value" : 4999, "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], @@ -5879,6 +5986,20 @@ ], "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ], "version" : "None" + }, + { + "enumerant" : "RestrictPointerEXT", + "value" : 5355, + "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ], + "extensions" : [ "SPV_EXT_physical_storage_buffer" ], + "version" : "None" + }, + { + "enumerant" : "AliasedPointerEXT", + "value" : 5356, + "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ], + "extensions" : [ "SPV_EXT_physical_storage_buffer" ], + "version" : "None" } ] }, @@ -5919,7 +6040,7 @@ { "enumerant" : "PrimitiveId", "value" : 7, - "capabilities" : [ "Geometry", "Tessellation", "RaytracingNVX" ] + "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV" ] }, { "enumerant" : "InvocationId", @@ -6347,96 +6468,116 @@ "version" : "None" }, { + "enumerant" : "FragSizeEXT", + "value" : 5292 , + "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ], + "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ], + "version" : "None" + }, + { "enumerant" : "FragmentSizeNV", "value" : 5292 , - "capabilities" : [ "ShadingRateNV" ], - "extensions" : [ "SPV_NV_shading_rate" ], + "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ], + "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ], + "version" : "None" + }, + { + "enumerant" : "FragInvocationCountEXT", + "value" : 5293, + "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ], + "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ], "version" : "None" }, { "enumerant" : "InvocationsPerPixelNV", "value" : 5293, - "capabilities" : [ "ShadingRateNV" ], - "extensions" : [ "SPV_NV_shading_rate" ], + "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ], + "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ], "version" : "None" }, { - "enumerant" : "LaunchIdNVX", + "enumerant" : "LaunchIdNV", "value" : 5319, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "enumerant" : "LaunchSizeNVX", + "enumerant" : "LaunchSizeNV", "value" : 5320, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "enumerant" : "WorldRayOriginNVX", + "enumerant" : "WorldRayOriginNV", "value" : 5321, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "enumerant" : "WorldRayDirectionNVX", + "enumerant" : "WorldRayDirectionNV", "value" : 5322, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "enumerant" : "ObjectRayOriginNVX", + "enumerant" : "ObjectRayOriginNV", "value" : 5323, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "enumerant" : "ObjectRayDirectionNVX", + "enumerant" : "ObjectRayDirectionNV", "value" : 5324, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "enumerant" : "RayTminNVX", + "enumerant" : "RayTminNV", "value" : 5325, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "enumerant" : "RayTmaxNVX", + "enumerant" : "RayTmaxNV", "value" : 5326, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "enumerant" : "InstanceCustomIndexNVX", + "enumerant" : "InstanceCustomIndexNV", "value" : 5327, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "enumerant" : "ObjectToWorldNVX", + "enumerant" : "ObjectToWorldNV", "value" : 5330, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "enumerant" : "WorldToObjectNVX", + "enumerant" : "WorldToObjectNV", "value" : 5331, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "enumerant" : "HitTNVX", + "enumerant" : "HitTNV", "value" : 5332, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] }, { - "enumerant" : "HitKindNVX", + "enumerant" : "HitKindNV", "value" : 5333, - "capabilities" : [ "RaytracingNVX" ], - "extensions" : [ "SPV_NVX_raytracing" ] + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] + }, + { + "enumerant" : "IncomingRayFlagsNV", + "value" : 5351, + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ] } ] }, @@ -6999,6 +7140,36 @@ "version" : "None" }, { + "enumerant" : "DenormPreserve", + "value" : 4464, + "extensions" : [ "SPV_KHR_float_controls" ], + "version" : "None" + }, + { + "enumerant" : "DenormFlushToZero", + "value" : 4465, + "extensions" : [ "SPV_KHR_float_controls" ], + "version" : "None" + }, + { + "enumerant" : "SignedZeroInfNanPreserve", + "value" : 4466, + "extensions" : [ "SPV_KHR_float_controls" ], + "version" : "None" + }, + { + "enumerant" : "RoundingModeRTE", + "value" : 4467, + "extensions" : [ "SPV_KHR_float_controls" ], + "version" : "None" + }, + { + "enumerant" : "RoundingModeRTZ", + "value" : 4468, + "extensions" : [ "SPV_KHR_float_controls" ], + "version" : "None" + }, + { "enumerant" : "Float16ImageAMD", "value" : 5008, "capabilities" : [ "Shader" ], @@ -7181,10 +7352,10 @@ "version" : "None" }, { - "enumerant" : "RaytracingNVX", + "enumerant" : "RayTracingNV", "value" : 5340, "capabilities" : [ "Shader" ], - "extensions" : [ "SPV_NVX_raytracing" ], + "extensions" : [ "SPV_NV_ray_tracing" ], "version" : "None" }, { @@ -7248,10 +7419,24 @@ "version" : "None" }, { + "enumerant" : "FragmentDensityEXT", + "value" : 5291, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ], + "version" : "None" + }, + { "enumerant" : "ShadingRateNV", "value" : 5291, "capabilities" : [ "Shader" ], - "extensions" : [ "SPV_NV_shading_rate" ], + "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ], + "version" : "None" + }, + { + "enumerant" : "PhysicalStorageBufferAddressesEXT", + "value" : 5347, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_EXT_physical_storage_buffer" ], "version" : "None" } ] diff --git a/src/compiler/spirv/spirv.h b/src/compiler/spirv/spirv.h index 2965534566b..081e12b4c15 100644 --- a/src/compiler/spirv/spirv.h +++ b/src/compiler/spirv/spirv.h @@ -1,5 +1,5 @@ /* -** Copyright (c) 2014-2018 The Khronos Group Inc. +** Copyright (c) 2014-2019 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a copy ** of this software and/or associated documentation files (the "Materials"), @@ -31,13 +31,16 @@ /* ** Enumeration tokens for SPIR-V, in various styles: -** C, C++, C++11, JSON, Lua, Python +** C, C++, C++11, JSON, Lua, Python, C#, D ** ** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL ** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL ** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL ** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL ** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL'] +** - C# will use enum classes in the Specification class located in the "Spv" namespace, +** e.g.: Spv.Specification.SourceLanguage.GLSL +** - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL ** ** Some tokens act like mask values, which can be OR'd together, ** while others are mutually exclusive. The mask-like ones have @@ -51,11 +54,11 @@ typedef unsigned int SpvId; #define SPV_VERSION 0x10300 -#define SPV_REVISION 1 +#define SPV_REVISION 6 static const unsigned int SpvMagicNumber = 0x07230203; static const unsigned int SpvVersion = 0x00010300; -static const unsigned int SpvRevision = 1; +static const unsigned int SpvRevision = 6; static const unsigned int SpvOpCodeMask = 0xffff; static const unsigned int SpvWordCountShift = 16; @@ -79,12 +82,12 @@ typedef enum SpvExecutionModel_ { SpvExecutionModelKernel = 6, SpvExecutionModelTaskNV = 5267, SpvExecutionModelMeshNV = 5268, - SpvExecutionModelRayGenerationNVX = 5313, - SpvExecutionModelIntersectionNVX = 5314, - SpvExecutionModelAnyHitNVX = 5315, - SpvExecutionModelClosestHitNVX = 5316, - SpvExecutionModelMissNVX = 5317, - SpvExecutionModelCallableNVX = 5318, + SpvExecutionModelRayGenerationNV = 5313, + SpvExecutionModelIntersectionNV = 5314, + SpvExecutionModelAnyHitNV = 5315, + SpvExecutionModelClosestHitNV = 5316, + SpvExecutionModelMissNV = 5317, + SpvExecutionModelCallableNV = 5318, SpvExecutionModelMax = 0x7fffffff, } SpvExecutionModel; @@ -92,6 +95,7 @@ typedef enum SpvAddressingModel_ { SpvAddressingModelLogical = 0, SpvAddressingModelPhysical32 = 1, SpvAddressingModelPhysical64 = 2, + SpvAddressingModelPhysicalStorageBuffer64EXT = 5348, SpvAddressingModelMax = 0x7fffffff, } SpvAddressingModel; @@ -143,6 +147,11 @@ typedef enum SpvExecutionMode_ { SpvExecutionModeLocalSizeId = 38, SpvExecutionModeLocalSizeHintId = 39, SpvExecutionModePostDepthCoverage = 4446, + SpvExecutionModeDenormPreserve = 4459, + SpvExecutionModeDenormFlushToZero = 4460, + SpvExecutionModeSignedZeroInfNanPreserve = 4461, + SpvExecutionModeRoundingModeRTE = 4462, + SpvExecutionModeRoundingModeRTZ = 4463, SpvExecutionModeStencilRefReplacingEXT = 5027, SpvExecutionModeOutputLinesNV = 5269, SpvExecutionModeOutputPrimitivesNV = 5270, @@ -166,10 +175,13 @@ typedef enum SpvStorageClass_ { SpvStorageClassAtomicCounter = 10, SpvStorageClassImage = 11, SpvStorageClassStorageBuffer = 12, - SpvStorageClassRayPayloadNVX = 5338, - SpvStorageClassHitAttributeNVX = 5339, - SpvStorageClassIncomingRayPayloadNVX = 5342, - SpvStorageClassShaderRecordBufferNVX = 5343, + SpvStorageClassCallableDataNV = 5328, + SpvStorageClassIncomingCallableDataNV = 5329, + SpvStorageClassRayPayloadNV = 5338, + SpvStorageClassHitAttributeNV = 5339, + SpvStorageClassIncomingRayPayloadNV = 5342, + SpvStorageClassShaderRecordBufferNV = 5343, + SpvStorageClassPhysicalStorageBufferEXT = 5349, SpvStorageClassMax = 0x7fffffff, } SpvStorageClass; @@ -418,6 +430,8 @@ typedef enum SpvDecoration_ { SpvDecorationMaxByteOffset = 45, SpvDecorationAlignmentId = 46, SpvDecorationMaxByteOffsetId = 47, + SpvDecorationNoSignedWrap = 4469, + SpvDecorationNoUnsignedWrap = 4470, SpvDecorationExplicitInterpAMD = 4999, SpvDecorationOverrideCoverageNV = 5248, SpvDecorationPassthroughNV = 5250, @@ -428,6 +442,8 @@ typedef enum SpvDecoration_ { SpvDecorationPerTaskNV = 5273, SpvDecorationPerVertexNV = 5285, SpvDecorationNonUniformEXT = 5300, + SpvDecorationRestrictPointerEXT = 5355, + SpvDecorationAliasedPointerEXT = 5356, SpvDecorationHlslCounterBufferGOOGLE = 5634, SpvDecorationHlslSemanticGOOGLE = 5635, SpvDecorationMax = 0x7fffffff, @@ -514,21 +530,24 @@ typedef enum SpvBuiltIn_ { SpvBuiltInMeshViewIndicesNV = 5281, SpvBuiltInBaryCoordNV = 5286, SpvBuiltInBaryCoordNoPerspNV = 5287, + SpvBuiltInFragSizeEXT = 5292, SpvBuiltInFragmentSizeNV = 5292, + SpvBuiltInFragInvocationCountEXT = 5293, 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, + SpvBuiltInLaunchIdNV = 5319, + SpvBuiltInLaunchSizeNV = 5320, + SpvBuiltInWorldRayOriginNV = 5321, + SpvBuiltInWorldRayDirectionNV = 5322, + SpvBuiltInObjectRayOriginNV = 5323, + SpvBuiltInObjectRayDirectionNV = 5324, + SpvBuiltInRayTminNV = 5325, + SpvBuiltInRayTmaxNV = 5326, + SpvBuiltInInstanceCustomIndexNV = 5327, + SpvBuiltInObjectToWorldNV = 5330, + SpvBuiltInWorldToObjectNV = 5331, + SpvBuiltInHitTNV = 5332, + SpvBuiltInHitKindNV = 5333, + SpvBuiltInIncomingRayFlagsNV = 5351, SpvBuiltInMax = 0x7fffffff, } SpvBuiltIn; @@ -754,6 +773,11 @@ typedef enum SpvCapability_ { SpvCapabilityStorageBuffer8BitAccess = 4448, SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449, SpvCapabilityStoragePushConstant8 = 4450, + SpvCapabilityDenormPreserve = 4464, + SpvCapabilityDenormFlushToZero = 4465, + SpvCapabilitySignedZeroInfNanPreserve = 4466, + SpvCapabilityRoundingModeRTE = 4467, + SpvCapabilityRoundingModeRTZ = 4468, SpvCapabilityFloat16ImageAMD = 5008, SpvCapabilityImageGatherBiasLodAMD = 5009, SpvCapabilityFragmentMaskAMD = 5010, @@ -771,6 +795,7 @@ typedef enum SpvCapability_ { SpvCapabilityImageFootprintNV = 5282, SpvCapabilityFragmentBarycentricNV = 5284, SpvCapabilityComputeDerivativeGroupQuadsNV = 5288, + SpvCapabilityFragmentDensityEXT = 5291, SpvCapabilityShadingRateNV = 5291, SpvCapabilityGroupNonUniformPartitionedNV = 5297, SpvCapabilityShaderNonUniformEXT = 5301, @@ -785,9 +810,10 @@ typedef enum SpvCapability_ { SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310, SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311, SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312, - SpvCapabilityRaytracingNVX = 5340, + SpvCapabilityRayTracingNV = 5340, SpvCapabilityVulkanMemoryModelKHR = 5345, SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346, + SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347, SpvCapabilityComputeDerivativeGroupLinearNV = 5350, SpvCapabilitySubgroupShuffleINTEL = 5568, SpvCapabilitySubgroupBufferBlockIOINTEL = 5569, @@ -1155,11 +1181,12 @@ typedef enum SpvOp_ { SpvOpImageSampleFootprintNV = 5283, SpvOpGroupNonUniformPartitionNV = 5296, SpvOpWritePackedPrimitiveIndices4x8NV = 5299, - SpvOpReportIntersectionNVX = 5334, - SpvOpIgnoreIntersectionNVX = 5335, - SpvOpTerminateRayNVX = 5336, - SpvOpTraceNVX = 5337, - SpvOpTypeAccelerationStructureNVX = 5341, + SpvOpReportIntersectionNV = 5334, + SpvOpIgnoreIntersectionNV = 5335, + SpvOpTerminateRayNV = 5336, + SpvOpTraceNV = 5337, + SpvOpTypeAccelerationStructureNV = 5341, + SpvOpExecuteCallableNV = 5344, SpvOpSubgroupShuffleINTEL = 5571, SpvOpSubgroupShuffleDownINTEL = 5572, SpvOpSubgroupShuffleUpINTEL = 5573, -- 2.11.0