diff options
author | John Kessenich <johnkslang@users.noreply.github.com> | 2018-10-24 17:21:57 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-24 17:21:57 -0600 |
commit | a2c529b5dda18838ab4b52f816acfebd774eaab3 (patch) | |
tree | d496feda3a887501d54cb052e8739c7aab6c91ad | |
parent | 801cca8104245c07e8cc53292da87ee1b76946fe (diff) | |
parent | 5bf501a02d1c16dbf4c0aa295aee0661aa8bce30 (diff) | |
download | SPIRV-Headers-a2c529b5dda18838ab4b52f816acfebd774eaab3.tar.gz SPIRV-Headers-a2c529b5dda18838ab4b52f816acfebd774eaab3.tar.bz2 SPIRV-Headers-a2c529b5dda18838ab4b52f816acfebd774eaab3.zip |
Merge pull request #80 from alelenv/nv-raytracing-final
Add support for nv-raytracing-final
-rwxr-xr-x | include/spirv/unified1/spirv.core.grammar.json | 193 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.cs | 62 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.h | 65 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.hpp | 65 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.hpp11 | 65 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.json | 65 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.lua | 65 | ||||
-rwxr-xr-x | include/spirv/unified1/spirv.py | 65 |
8 files changed, 354 insertions, 291 deletions
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json index 034e3ab..620bb4d 100755 --- a/include/spirv/unified1/spirv.core.grammar.json +++ b/include/spirv/unified1/spirv.core.grammar.json @@ -3825,7 +3825,7 @@ "version" : "None" }, { - "opname" : "OpReportIntersectionNVX", + "opname" : "OpReportIntersectionNV", "opcode" : 5334, "operands" : [ { "kind" : "IdResultType" }, @@ -3833,25 +3833,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 +3867,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 +4454,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" ] } ] }, @@ -4878,28 +4889,40 @@ "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" ] } ] }, @@ -5919,7 +5942,7 @@ { "enumerant" : "PrimitiveId", "value" : 7, - "capabilities" : [ "Geometry", "Tessellation", "RaytracingNVX" ] + "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV" ] }, { "enumerant" : "InvocationId", @@ -6361,82 +6384,88 @@ "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" ] } ] }, @@ -7181,10 +7210,10 @@ "version" : "None" }, { - "enumerant" : "RaytracingNVX", + "enumerant" : "RayTracingNV", "value" : 5340, "capabilities" : [ "Shader" ], - "extensions" : [ "SPV_NVX_raytracing" ], + "extensions" : [ "SPV_NV_ray_tracing" ], "version" : "None" }, { diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs index aebabd5..634277d 100644 --- a/include/spirv/unified1/spirv.cs +++ b/include/spirv/unified1/spirv.cs @@ -72,12 +72,12 @@ namespace Spv Kernel = 6, TaskNV = 5267, MeshNV = 5268, - RayGenerationNVX = 5313, - IntersectionNVX = 5314, - AnyHitNVX = 5315, - ClosestHitNVX = 5316, - MissNVX = 5317, - CallableNVX = 5318, + RayGenerationNV = 5313, + IntersectionNV = 5314, + AnyHitNV = 5315, + ClosestHitNV = 5316, + MissNV = 5317, + CallableNV = 5318, } public enum AddressingModel @@ -159,10 +159,12 @@ namespace Spv AtomicCounter = 10, Image = 11, StorageBuffer = 12, - RayPayloadNVX = 5338, - HitAttributeNVX = 5339, - IncomingRayPayloadNVX = 5342, - ShaderRecordBufferNVX = 5343, + CallableDataNV = 5328, + IncomingCallableDataNV = 5329, + RayPayloadNV = 5338, + HitAttributeNV = 5339, + IncomingRayPayloadNV = 5342, + ShaderRecordBufferNV = 5343, } public enum Dim @@ -511,19 +513,20 @@ namespace Spv BaryCoordNoPerspNV = 5287, FragmentSizeNV = 5292, InvocationsPerPixelNV = 5293, - LaunchIdNVX = 5319, - LaunchSizeNVX = 5320, - WorldRayOriginNVX = 5321, - WorldRayDirectionNVX = 5322, - ObjectRayOriginNVX = 5323, - ObjectRayDirectionNVX = 5324, - RayTminNVX = 5325, - RayTmaxNVX = 5326, - InstanceCustomIndexNVX = 5327, - ObjectToWorldNVX = 5330, - WorldToObjectNVX = 5331, - HitTNVX = 5332, - HitKindNVX = 5333, + LaunchIdNV = 5319, + LaunchSizeNV = 5320, + WorldRayOriginNV = 5321, + WorldRayDirectionNV = 5322, + ObjectRayOriginNV = 5323, + ObjectRayDirectionNV = 5324, + RayTminNV = 5325, + RayTmaxNV = 5326, + InstanceCustomIndexNV = 5327, + ObjectToWorldNV = 5330, + WorldToObjectNV = 5331, + HitTNV = 5332, + HitKindNV = 5333, + IncomingRayFlagsNV = 5351, } public enum SelectionControlShift @@ -786,7 +789,7 @@ namespace Spv InputAttachmentArrayNonUniformIndexingEXT = 5310, UniformTexelBufferArrayNonUniformIndexingEXT = 5311, StorageTexelBufferArrayNonUniformIndexingEXT = 5312, - RaytracingNVX = 5340, + RayTracingNV = 5340, VulkanMemoryModelKHR = 5345, VulkanMemoryModelDeviceScopeKHR = 5346, ComputeDerivativeGroupLinearNV = 5350, @@ -1156,11 +1159,12 @@ namespace Spv OpImageSampleFootprintNV = 5283, OpGroupNonUniformPartitionNV = 5296, OpWritePackedPrimitiveIndices4x8NV = 5299, - OpReportIntersectionNVX = 5334, - OpIgnoreIntersectionNVX = 5335, - OpTerminateRayNVX = 5336, - OpTraceNVX = 5337, - OpTypeAccelerationStructureNVX = 5341, + OpReportIntersectionNV = 5334, + OpIgnoreIntersectionNV = 5335, + OpTerminateRayNV = 5336, + OpTraceNV = 5337, + OpTypeAccelerationStructureNV = 5341, + OpExecuteCallableNV = 5344, OpSubgroupShuffleINTEL = 5571, OpSubgroupShuffleDownINTEL = 5572, OpSubgroupShuffleUpINTEL = 5573, diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h index 2965534..a762f2e 100644 --- a/include/spirv/unified1/spirv.h +++ b/include/spirv/unified1/spirv.h @@ -31,13 +31,14 @@ /* ** Enumeration tokens for SPIR-V, in various styles: -** C, C++, C++11, JSON, Lua, Python +** C, C++, C++11, JSON, Lua, Python, C# ** ** - 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 ** ** Some tokens act like mask values, which can be OR'd together, ** while others are mutually exclusive. The mask-like ones have @@ -79,12 +80,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; @@ -166,10 +167,12 @@ 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, SpvStorageClassMax = 0x7fffffff, } SpvStorageClass; @@ -516,19 +519,20 @@ typedef enum SpvBuiltIn_ { 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, + 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; @@ -785,7 +789,7 @@ typedef enum SpvCapability_ { SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310, SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311, SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312, - SpvCapabilityRaytracingNVX = 5340, + SpvCapabilityRayTracingNV = 5340, SpvCapabilityVulkanMemoryModelKHR = 5345, SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346, SpvCapabilityComputeDerivativeGroupLinearNV = 5350, @@ -1155,11 +1159,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, diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp index 14605b8..4df1e09 100644 --- a/include/spirv/unified1/spirv.hpp +++ b/include/spirv/unified1/spirv.hpp @@ -26,13 +26,14 @@ // the Binary Section of the SPIR-V specification. // Enumeration tokens for SPIR-V, in various styles: -// C, C++, C++11, JSON, Lua, Python +// C, C++, C++11, JSON, Lua, Python, C# // // - 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 // // Some tokens act like mask values, which can be OR'd together, // while others are mutually exclusive. The mask-like ones have @@ -75,12 +76,12 @@ enum ExecutionModel { ExecutionModelKernel = 6, ExecutionModelTaskNV = 5267, ExecutionModelMeshNV = 5268, - ExecutionModelRayGenerationNVX = 5313, - ExecutionModelIntersectionNVX = 5314, - ExecutionModelAnyHitNVX = 5315, - ExecutionModelClosestHitNVX = 5316, - ExecutionModelMissNVX = 5317, - ExecutionModelCallableNVX = 5318, + ExecutionModelRayGenerationNV = 5313, + ExecutionModelIntersectionNV = 5314, + ExecutionModelAnyHitNV = 5315, + ExecutionModelClosestHitNV = 5316, + ExecutionModelMissNV = 5317, + ExecutionModelCallableNV = 5318, ExecutionModelMax = 0x7fffffff, }; @@ -162,10 +163,12 @@ enum StorageClass { StorageClassAtomicCounter = 10, StorageClassImage = 11, StorageClassStorageBuffer = 12, - StorageClassRayPayloadNVX = 5338, - StorageClassHitAttributeNVX = 5339, - StorageClassIncomingRayPayloadNVX = 5342, - StorageClassShaderRecordBufferNVX = 5343, + StorageClassCallableDataNV = 5328, + StorageClassIncomingCallableDataNV = 5329, + StorageClassRayPayloadNV = 5338, + StorageClassHitAttributeNV = 5339, + StorageClassIncomingRayPayloadNV = 5342, + StorageClassShaderRecordBufferNV = 5343, StorageClassMax = 0x7fffffff, }; @@ -512,19 +515,20 @@ enum BuiltIn { BuiltInBaryCoordNoPerspNV = 5287, BuiltInFragmentSizeNV = 5292, BuiltInInvocationsPerPixelNV = 5293, - BuiltInLaunchIdNVX = 5319, - BuiltInLaunchSizeNVX = 5320, - BuiltInWorldRayOriginNVX = 5321, - BuiltInWorldRayDirectionNVX = 5322, - BuiltInObjectRayOriginNVX = 5323, - BuiltInObjectRayDirectionNVX = 5324, - BuiltInRayTminNVX = 5325, - BuiltInRayTmaxNVX = 5326, - BuiltInInstanceCustomIndexNVX = 5327, - BuiltInObjectToWorldNVX = 5330, - BuiltInWorldToObjectNVX = 5331, - BuiltInHitTNVX = 5332, - BuiltInHitKindNVX = 5333, + BuiltInLaunchIdNV = 5319, + BuiltInLaunchSizeNV = 5320, + BuiltInWorldRayOriginNV = 5321, + BuiltInWorldRayDirectionNV = 5322, + BuiltInObjectRayOriginNV = 5323, + BuiltInObjectRayDirectionNV = 5324, + BuiltInRayTminNV = 5325, + BuiltInRayTmaxNV = 5326, + BuiltInInstanceCustomIndexNV = 5327, + BuiltInObjectToWorldNV = 5330, + BuiltInWorldToObjectNV = 5331, + BuiltInHitTNV = 5332, + BuiltInHitKindNV = 5333, + BuiltInIncomingRayFlagsNV = 5351, BuiltInMax = 0x7fffffff, }; @@ -781,7 +785,7 @@ enum Capability { CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310, CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311, CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312, - CapabilityRaytracingNVX = 5340, + CapabilityRayTracingNV = 5340, CapabilityVulkanMemoryModelKHR = 5345, CapabilityVulkanMemoryModelDeviceScopeKHR = 5346, CapabilityComputeDerivativeGroupLinearNV = 5350, @@ -1151,11 +1155,12 @@ enum Op { OpImageSampleFootprintNV = 5283, OpGroupNonUniformPartitionNV = 5296, OpWritePackedPrimitiveIndices4x8NV = 5299, - OpReportIntersectionNVX = 5334, - OpIgnoreIntersectionNVX = 5335, - OpTerminateRayNVX = 5336, - OpTraceNVX = 5337, - OpTypeAccelerationStructureNVX = 5341, + OpReportIntersectionNV = 5334, + OpIgnoreIntersectionNV = 5335, + OpTerminateRayNV = 5336, + OpTraceNV = 5337, + OpTypeAccelerationStructureNV = 5341, + OpExecuteCallableNV = 5344, OpSubgroupShuffleINTEL = 5571, OpSubgroupShuffleDownINTEL = 5572, OpSubgroupShuffleUpINTEL = 5573, diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11 index 9eaadca..f957e58 100644 --- a/include/spirv/unified1/spirv.hpp11 +++ b/include/spirv/unified1/spirv.hpp11 @@ -26,13 +26,14 @@ // the Binary Section of the SPIR-V specification. // Enumeration tokens for SPIR-V, in various styles: -// C, C++, C++11, JSON, Lua, Python +// C, C++, C++11, JSON, Lua, Python, C# // // - 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 // // Some tokens act like mask values, which can be OR'd together, // while others are mutually exclusive. The mask-like ones have @@ -75,12 +76,12 @@ enum class ExecutionModel : unsigned { Kernel = 6, TaskNV = 5267, MeshNV = 5268, - RayGenerationNVX = 5313, - IntersectionNVX = 5314, - AnyHitNVX = 5315, - ClosestHitNVX = 5316, - MissNVX = 5317, - CallableNVX = 5318, + RayGenerationNV = 5313, + IntersectionNV = 5314, + AnyHitNV = 5315, + ClosestHitNV = 5316, + MissNV = 5317, + CallableNV = 5318, Max = 0x7fffffff, }; @@ -162,10 +163,12 @@ enum class StorageClass : unsigned { AtomicCounter = 10, Image = 11, StorageBuffer = 12, - RayPayloadNVX = 5338, - HitAttributeNVX = 5339, - IncomingRayPayloadNVX = 5342, - ShaderRecordBufferNVX = 5343, + CallableDataNV = 5328, + IncomingCallableDataNV = 5329, + RayPayloadNV = 5338, + HitAttributeNV = 5339, + IncomingRayPayloadNV = 5342, + ShaderRecordBufferNV = 5343, Max = 0x7fffffff, }; @@ -512,19 +515,20 @@ enum class BuiltIn : unsigned { BaryCoordNoPerspNV = 5287, FragmentSizeNV = 5292, InvocationsPerPixelNV = 5293, - LaunchIdNVX = 5319, - LaunchSizeNVX = 5320, - WorldRayOriginNVX = 5321, - WorldRayDirectionNVX = 5322, - ObjectRayOriginNVX = 5323, - ObjectRayDirectionNVX = 5324, - RayTminNVX = 5325, - RayTmaxNVX = 5326, - InstanceCustomIndexNVX = 5327, - ObjectToWorldNVX = 5330, - WorldToObjectNVX = 5331, - HitTNVX = 5332, - HitKindNVX = 5333, + LaunchIdNV = 5319, + LaunchSizeNV = 5320, + WorldRayOriginNV = 5321, + WorldRayDirectionNV = 5322, + ObjectRayOriginNV = 5323, + ObjectRayDirectionNV = 5324, + RayTminNV = 5325, + RayTmaxNV = 5326, + InstanceCustomIndexNV = 5327, + ObjectToWorldNV = 5330, + WorldToObjectNV = 5331, + HitTNV = 5332, + HitKindNV = 5333, + IncomingRayFlagsNV = 5351, Max = 0x7fffffff, }; @@ -781,7 +785,7 @@ enum class Capability : unsigned { InputAttachmentArrayNonUniformIndexingEXT = 5310, UniformTexelBufferArrayNonUniformIndexingEXT = 5311, StorageTexelBufferArrayNonUniformIndexingEXT = 5312, - RaytracingNVX = 5340, + RayTracingNV = 5340, VulkanMemoryModelKHR = 5345, VulkanMemoryModelDeviceScopeKHR = 5346, ComputeDerivativeGroupLinearNV = 5350, @@ -1151,11 +1155,12 @@ enum class Op : unsigned { OpImageSampleFootprintNV = 5283, OpGroupNonUniformPartitionNV = 5296, OpWritePackedPrimitiveIndices4x8NV = 5299, - OpReportIntersectionNVX = 5334, - OpIgnoreIntersectionNVX = 5335, - OpTerminateRayNVX = 5336, - OpTraceNVX = 5337, - OpTypeAccelerationStructureNVX = 5341, + OpReportIntersectionNV = 5334, + OpIgnoreIntersectionNV = 5335, + OpTerminateRayNV = 5336, + OpTraceNV = 5337, + OpTypeAccelerationStructureNV = 5341, + OpExecuteCallableNV = 5344, OpSubgroupShuffleINTEL = 5571, OpSubgroupShuffleDownINTEL = 5572, OpSubgroupShuffleUpINTEL = 5573, diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json index 9b448b0..9c136d2 100644 --- a/include/spirv/unified1/spirv.json +++ b/include/spirv/unified1/spirv.json @@ -36,13 +36,14 @@ ], [ "Enumeration tokens for SPIR-V, in various styles:", - " C, C++, C++11, JSON, Lua, Python", + " C, C++, C++11, JSON, Lua, Python, C#", "", "- 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", "", "Some tokens act like mask values, which can be OR'd together,", "while others are mutually exclusive. The mask-like ones have", @@ -85,12 +86,12 @@ "Kernel": 6, "TaskNV": 5267, "MeshNV": 5268, - "RayGenerationNVX": 5313, - "IntersectionNVX": 5314, - "AnyHitNVX": 5315, - "ClosestHitNVX": 5316, - "MissNVX": 5317, - "CallableNVX": 5318 + "RayGenerationNV": 5313, + "IntersectionNV": 5314, + "AnyHitNV": 5315, + "ClosestHitNV": 5316, + "MissNV": 5317, + "CallableNV": 5318 } }, { @@ -184,10 +185,12 @@ "AtomicCounter": 10, "Image": 11, "StorageBuffer": 12, - "RayPayloadNVX": 5338, - "HitAttributeNVX": 5339, - "IncomingRayPayloadNVX": 5342, - "ShaderRecordBufferNVX": 5343 + "CallableDataNV": 5328, + "IncomingCallableDataNV": 5329, + "RayPayloadNV": 5338, + "HitAttributeNV": 5339, + "IncomingRayPayloadNV": 5342, + "ShaderRecordBufferNV": 5343 } }, { @@ -551,19 +554,20 @@ "BaryCoordNoPerspNV": 5287, "FragmentSizeNV": 5292, "InvocationsPerPixelNV": 5293, - "LaunchIdNVX": 5319, - "LaunchSizeNVX": 5320, - "WorldRayOriginNVX": 5321, - "WorldRayDirectionNVX": 5322, - "ObjectRayOriginNVX": 5323, - "ObjectRayDirectionNVX": 5324, - "RayTminNVX": 5325, - "RayTmaxNVX": 5326, - "InstanceCustomIndexNVX": 5327, - "ObjectToWorldNVX": 5330, - "WorldToObjectNVX": 5331, - "HitTNVX": 5332, - "HitKindNVX": 5333 + "LaunchIdNV": 5319, + "LaunchSizeNV": 5320, + "WorldRayOriginNV": 5321, + "WorldRayDirectionNV": 5322, + "ObjectRayOriginNV": 5323, + "ObjectRayDirectionNV": 5324, + "RayTminNV": 5325, + "RayTmaxNV": 5326, + "InstanceCustomIndexNV": 5327, + "ObjectToWorldNV": 5330, + "WorldToObjectNV": 5331, + "HitTNV": 5332, + "HitKindNV": 5333, + "IncomingRayFlagsNV": 5351 } }, { @@ -796,7 +800,7 @@ "InputAttachmentArrayNonUniformIndexingEXT": 5310, "UniformTexelBufferArrayNonUniformIndexingEXT": 5311, "StorageTexelBufferArrayNonUniformIndexingEXT": 5312, - "RaytracingNVX": 5340, + "RayTracingNV": 5340, "VulkanMemoryModelKHR": 5345, "VulkanMemoryModelDeviceScopeKHR": 5346, "ComputeDerivativeGroupLinearNV": 5350, @@ -1169,11 +1173,12 @@ "OpImageSampleFootprintNV": 5283, "OpGroupNonUniformPartitionNV": 5296, "OpWritePackedPrimitiveIndices4x8NV": 5299, - "OpReportIntersectionNVX": 5334, - "OpIgnoreIntersectionNVX": 5335, - "OpTerminateRayNVX": 5336, - "OpTraceNVX": 5337, - "OpTypeAccelerationStructureNVX": 5341, + "OpReportIntersectionNV": 5334, + "OpIgnoreIntersectionNV": 5335, + "OpTerminateRayNV": 5336, + "OpTraceNV": 5337, + "OpTypeAccelerationStructureNV": 5341, + "OpExecuteCallableNV": 5344, "OpSubgroupShuffleINTEL": 5571, "OpSubgroupShuffleDownINTEL": 5572, "OpSubgroupShuffleUpINTEL": 5573, diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua index 647a595..1c4c027 100644 --- a/include/spirv/unified1/spirv.lua +++ b/include/spirv/unified1/spirv.lua @@ -26,13 +26,14 @@ -- the Binary Section of the SPIR-V specification. -- Enumeration tokens for SPIR-V, in various styles: --- C, C++, C++11, JSON, Lua, Python +-- C, C++, C++11, JSON, Lua, Python, C# -- -- - 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 -- -- Some tokens act like mask values, which can be OR'd together, -- while others are mutually exclusive. The mask-like ones have @@ -65,12 +66,12 @@ spv = { Kernel = 6, TaskNV = 5267, MeshNV = 5268, - RayGenerationNVX = 5313, - IntersectionNVX = 5314, - AnyHitNVX = 5315, - ClosestHitNVX = 5316, - MissNVX = 5317, - CallableNVX = 5318, + RayGenerationNV = 5313, + IntersectionNV = 5314, + AnyHitNV = 5315, + ClosestHitNV = 5316, + MissNV = 5317, + CallableNV = 5318, }, AddressingModel = { @@ -148,10 +149,12 @@ spv = { AtomicCounter = 10, Image = 11, StorageBuffer = 12, - RayPayloadNVX = 5338, - HitAttributeNVX = 5339, - IncomingRayPayloadNVX = 5342, - ShaderRecordBufferNVX = 5343, + CallableDataNV = 5328, + IncomingCallableDataNV = 5329, + RayPayloadNV = 5338, + HitAttributeNV = 5339, + IncomingRayPayloadNV = 5342, + ShaderRecordBufferNV = 5343, }, Dim = { @@ -484,19 +487,20 @@ spv = { BaryCoordNoPerspNV = 5287, FragmentSizeNV = 5292, InvocationsPerPixelNV = 5293, - LaunchIdNVX = 5319, - LaunchSizeNVX = 5320, - WorldRayOriginNVX = 5321, - WorldRayDirectionNVX = 5322, - ObjectRayOriginNVX = 5323, - ObjectRayDirectionNVX = 5324, - RayTminNVX = 5325, - RayTmaxNVX = 5326, - InstanceCustomIndexNVX = 5327, - ObjectToWorldNVX = 5330, - WorldToObjectNVX = 5331, - HitTNVX = 5332, - HitKindNVX = 5333, + LaunchIdNV = 5319, + LaunchSizeNV = 5320, + WorldRayOriginNV = 5321, + WorldRayDirectionNV = 5322, + ObjectRayOriginNV = 5323, + ObjectRayDirectionNV = 5324, + RayTminNV = 5325, + RayTmaxNV = 5326, + InstanceCustomIndexNV = 5327, + ObjectToWorldNV = 5330, + WorldToObjectNV = 5331, + HitTNV = 5332, + HitKindNV = 5333, + IncomingRayFlagsNV = 5351, }, SelectionControlShift = { @@ -743,7 +747,7 @@ spv = { InputAttachmentArrayNonUniformIndexingEXT = 5310, UniformTexelBufferArrayNonUniformIndexingEXT = 5311, StorageTexelBufferArrayNonUniformIndexingEXT = 5312, - RaytracingNVX = 5340, + RayTracingNV = 5340, VulkanMemoryModelKHR = 5345, VulkanMemoryModelDeviceScopeKHR = 5346, ComputeDerivativeGroupLinearNV = 5350, @@ -1112,11 +1116,12 @@ spv = { OpImageSampleFootprintNV = 5283, OpGroupNonUniformPartitionNV = 5296, OpWritePackedPrimitiveIndices4x8NV = 5299, - OpReportIntersectionNVX = 5334, - OpIgnoreIntersectionNVX = 5335, - OpTerminateRayNVX = 5336, - OpTraceNVX = 5337, - OpTypeAccelerationStructureNVX = 5341, + OpReportIntersectionNV = 5334, + OpIgnoreIntersectionNV = 5335, + OpTerminateRayNV = 5336, + OpTraceNV = 5337, + OpTypeAccelerationStructureNV = 5341, + OpExecuteCallableNV = 5344, OpSubgroupShuffleINTEL = 5571, OpSubgroupShuffleDownINTEL = 5572, OpSubgroupShuffleUpINTEL = 5573, diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py index 1fe126c..f93e7cf 100755 --- a/include/spirv/unified1/spirv.py +++ b/include/spirv/unified1/spirv.py @@ -26,13 +26,14 @@ # the Binary Section of the SPIR-V specification. # Enumeration tokens for SPIR-V, in various styles: -# C, C++, C++11, JSON, Lua, Python +# C, C++, C++11, JSON, Lua, Python, C# # # - 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 # # Some tokens act like mask values, which can be OR'd together, # while others are mutually exclusive. The mask-like ones have @@ -65,12 +66,12 @@ spv = { 'Kernel' : 6, 'TaskNV' : 5267, 'MeshNV' : 5268, - 'RayGenerationNVX' : 5313, - 'IntersectionNVX' : 5314, - 'AnyHitNVX' : 5315, - 'ClosestHitNVX' : 5316, - 'MissNVX' : 5317, - 'CallableNVX' : 5318, + 'RayGenerationNV' : 5313, + 'IntersectionNV' : 5314, + 'AnyHitNV' : 5315, + 'ClosestHitNV' : 5316, + 'MissNV' : 5317, + 'CallableNV' : 5318, }, 'AddressingModel' : { @@ -148,10 +149,12 @@ spv = { 'AtomicCounter' : 10, 'Image' : 11, 'StorageBuffer' : 12, - 'RayPayloadNVX' : 5338, - 'HitAttributeNVX' : 5339, - 'IncomingRayPayloadNVX' : 5342, - 'ShaderRecordBufferNVX' : 5343, + 'CallableDataNV' : 5328, + 'IncomingCallableDataNV' : 5329, + 'RayPayloadNV' : 5338, + 'HitAttributeNV' : 5339, + 'IncomingRayPayloadNV' : 5342, + 'ShaderRecordBufferNV' : 5343, }, 'Dim' : { @@ -484,19 +487,20 @@ spv = { 'BaryCoordNoPerspNV' : 5287, 'FragmentSizeNV' : 5292, 'InvocationsPerPixelNV' : 5293, - 'LaunchIdNVX' : 5319, - 'LaunchSizeNVX' : 5320, - 'WorldRayOriginNVX' : 5321, - 'WorldRayDirectionNVX' : 5322, - 'ObjectRayOriginNVX' : 5323, - 'ObjectRayDirectionNVX' : 5324, - 'RayTminNVX' : 5325, - 'RayTmaxNVX' : 5326, - 'InstanceCustomIndexNVX' : 5327, - 'ObjectToWorldNVX' : 5330, - 'WorldToObjectNVX' : 5331, - 'HitTNVX' : 5332, - 'HitKindNVX' : 5333, + 'LaunchIdNV' : 5319, + 'LaunchSizeNV' : 5320, + 'WorldRayOriginNV' : 5321, + 'WorldRayDirectionNV' : 5322, + 'ObjectRayOriginNV' : 5323, + 'ObjectRayDirectionNV' : 5324, + 'RayTminNV' : 5325, + 'RayTmaxNV' : 5326, + 'InstanceCustomIndexNV' : 5327, + 'ObjectToWorldNV' : 5330, + 'WorldToObjectNV' : 5331, + 'HitTNV' : 5332, + 'HitKindNV' : 5333, + 'IncomingRayFlagsNV' : 5351, }, 'SelectionControlShift' : { @@ -743,7 +747,7 @@ spv = { 'InputAttachmentArrayNonUniformIndexingEXT' : 5310, 'UniformTexelBufferArrayNonUniformIndexingEXT' : 5311, 'StorageTexelBufferArrayNonUniformIndexingEXT' : 5312, - 'RaytracingNVX' : 5340, + 'RayTracingNV' : 5340, 'VulkanMemoryModelKHR' : 5345, 'VulkanMemoryModelDeviceScopeKHR' : 5346, 'ComputeDerivativeGroupLinearNV' : 5350, @@ -1112,11 +1116,12 @@ spv = { 'OpImageSampleFootprintNV' : 5283, 'OpGroupNonUniformPartitionNV' : 5296, 'OpWritePackedPrimitiveIndices4x8NV' : 5299, - 'OpReportIntersectionNVX' : 5334, - 'OpIgnoreIntersectionNVX' : 5335, - 'OpTerminateRayNVX' : 5336, - 'OpTraceNVX' : 5337, - 'OpTypeAccelerationStructureNVX' : 5341, + 'OpReportIntersectionNV' : 5334, + 'OpIgnoreIntersectionNV' : 5335, + 'OpTerminateRayNV' : 5336, + 'OpTraceNV' : 5337, + 'OpTypeAccelerationStructureNV' : 5341, + 'OpExecuteCallableNV' : 5344, 'OpSubgroupShuffleINTEL' : 5571, 'OpSubgroupShuffleDownINTEL' : 5572, 'OpSubgroupShuffleUpINTEL' : 5573, |