Add headers for SPV_NV_shader_invocation_reorder.
authoralelenv <alele@nvidia.com>
Wed, 5 Oct 2022 16:47:40 +0000 (09:47 -0700)
committeralelenv <alele@nvidia.com>
Mon, 24 Oct 2022 20:34:39 +0000 (13:34 -0700)
include/spirv/unified1/spirv.bf
include/spirv/unified1/spirv.core.grammar.json
include/spirv/unified1/spirv.cs
include/spirv/unified1/spirv.h
include/spirv/unified1/spirv.hpp
include/spirv/unified1/spirv.hpp11
include/spirv/unified1/spirv.json
include/spirv/unified1/spirv.lua
include/spirv/unified1/spirv.py
include/spirv/unified1/spv.d

index 4bdb937..5d4d554 100644 (file)
@@ -224,6 +224,7 @@ namespace Spv
             ShaderRecordBufferNV = 5343,
             PhysicalStorageBuffer = 5349,
             PhysicalStorageBufferEXT = 5349,
+            HitObjectAttributeNV = 5385,
             TaskPayloadWorkgroupEXT = 5402,
             CodeSectionINTEL = 5605,
             DeviceOnlyINTEL = 5936,
@@ -521,6 +522,7 @@ namespace Spv
             RestrictPointerEXT = 5355,
             AliasedPointer = 5356,
             AliasedPointerEXT = 5356,
+            HitObjectShaderRecordBufferNV = 5386,
             BindlessSamplerNV = 5398,
             BindlessImageNV = 5399,
             BoundSamplerNV = 5400,
@@ -1064,6 +1066,7 @@ namespace Spv
             DemoteToHelperInvocation = 5379,
             DemoteToHelperInvocationEXT = 5379,
             RayTracingOpacityMicromapEXT = 5381,
+            ShaderInvocationReorderNV = 5383,
             BindlessTextureNV = 5390,
             SubgroupShuffleINTEL = 5568,
             SubgroupBufferBlockIOINTEL = 5569,
@@ -1619,6 +1622,39 @@ namespace Spv
             OpFragmentMaskFetchAMD = 5011,
             OpFragmentFetchAMD = 5012,
             OpReadClockKHR = 5056,
+            OpHitObjectRecordHitMotionNV = 5249,
+            OpHitObjectRecordHitWithIndexMotionNV = 5250,
+            OpHitObjectRecordMissMotionNV = 5251,
+            OpHitObjectGetWorldToObjectNV = 5252,
+            OpHitObjectGetObjectToWorldNV = 5253,
+            OpHitObjectGetObjectRayDirectionNV = 5254,
+            OpHitObjectGetObjectRayOriginNV = 5255,
+            OpHitObjectTraceRayMotionNV = 5256,
+            OpHitObjectGetShaderRecordBufferHandleNV = 5257,
+            OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+            OpHitObjectRecordEmptyNV = 5259,
+            OpHitObjectTraceRayNV = 5260,
+            OpHitObjectRecordHitNV = 5261,
+            OpHitObjectRecordHitWithIndexNV = 5262,
+            OpHitObjectRecordMissNV = 5263,
+            OpHitObjectExecuteShaderNV = 5264,
+            OpHitObjectGetCurrentTimeNV = 5265,
+            OpHitObjectGetAttributesNV = 5266,
+            OpHitObjectGetHitKindNV = 5267,
+            OpHitObjectGetPrimitiveIndexNV = 5268,
+            OpHitObjectGetGeometryIndexNV = 5269,
+            OpHitObjectGetInstanceIdNV = 5270,
+            OpHitObjectGetInstanceCustomIndexNV = 5271,
+            OpHitObjectGetWorldRayDirectionNV = 5272,
+            OpHitObjectGetWorldRayOriginNV = 5273,
+            OpHitObjectGetRayTMaxNV = 5274,
+            OpHitObjectGetRayTMinNV = 5275,
+            OpHitObjectIsEmptyNV = 5276,
+            OpHitObjectIsHitNV = 5277,
+            OpHitObjectIsMissNV = 5278,
+            OpReorderThreadWithHitObjectNV = 5279,
+            OpReorderThreadWithHintNV = 5280,
+            OpTypeHitObjectNV = 5281,
             OpImageSampleFootprintNV = 5283,
             OpEmitMeshTasksEXT = 5294,
             OpSetMeshOutputsEXT = 5295,
index c6517c4..b352fc4 100644 (file)
       "version" : "None"
     },
     {
+      "opname" : "OpHitObjectRecordHitMotionNV",
+      "class"  : "Reserved",
+      "opcode" : 5249,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Hit Object'" },
+        { "kind" : "IdRef", "name" : "'Acceleration Structure'" },
+        { "kind" : "IdRef", "name" : "'InstanceId'" },
+        { "kind" : "IdRef", "name" : "'PrimitiveId'" },
+        { "kind" : "IdRef", "name" : "'GeometryIndex'" },
+        { "kind" : "IdRef", "name" : "'Hit Kind'" },
+        { "kind" : "IdRef", "name" : "'SBT Record Offset'" },
+        { "kind" : "IdRef", "name" : "'SBT Record Stride'" },
+        { "kind" : "IdRef", "name" : "'Origin'" },
+        { "kind" : "IdRef", "name" : "'TMin'" },
+        { "kind" : "IdRef", "name" : "'Direction'" },
+        { "kind" : "IdRef", "name" : "'TMax'" },
+        { "kind" : "IdRef", "name" : "'Current Time'" },
+        { "kind" : "IdRef", "name" : "'HitObject Attributes'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectRecordHitWithIndexMotionNV",
+      "class"  : "Reserved",
+      "opcode" : 5250,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Hit Object'" },
+        { "kind" : "IdRef", "name" : "'Acceleration Structure'" },
+        { "kind" : "IdRef", "name" : "'InstanceId'" },
+        { "kind" : "IdRef", "name" : "'PrimitiveId'" },
+        { "kind" : "IdRef", "name" : "'GeometryIndex'" },
+        { "kind" : "IdRef", "name" : "'Hit Kind'" },
+        { "kind" : "IdRef", "name" : "'SBT Record Index'" },
+        { "kind" : "IdRef", "name" : "'Origin'" },
+        { "kind" : "IdRef", "name" : "'TMin'" },
+        { "kind" : "IdRef", "name" : "'Direction'" },
+        { "kind" : "IdRef", "name" : "'TMax'" },
+        { "kind" : "IdRef", "name" : "'Current Time'" },
+        { "kind" : "IdRef", "name" : "'HitObject Attributes'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectRecordMissMotionNV",
+      "class"  : "Reserved",
+      "opcode" : 5251,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Hit Object'" },
+        { "kind" : "IdRef", "name" : "'SBT Index'" },
+        { "kind" : "IdRef", "name" : "'Origin'" },
+        { "kind" : "IdRef", "name" : "'TMin'" },
+        { "kind" : "IdRef", "name" : "'Direction'" },
+        { "kind" : "IdRef", "name" : "'TMax'" },
+        { "kind" : "IdRef", "name" : "'Current Time'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetWorldToObjectNV",
+      "class"  : "Reserved",
+      "opcode" : 5252,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetObjectToWorldNV",
+      "class"  : "Reserved",
+      "opcode" : 5253,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetObjectRayDirectionNV",
+      "class"  : "Reserved",
+      "opcode" : 5254,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetObjectRayOriginNV",
+      "class"  : "Reserved",
+      "opcode" : 5255,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectTraceRayMotionNV",
+      "class"  : "Reserved",
+      "opcode" : 5256,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Hit Object'" },
+        { "kind" : "IdRef", "name" : "'Acceleration Structure'"},
+        { "kind" : "IdRef", "name" : "'RayFlags'"},
+        { "kind" : "IdRef", "name" : "'Cullmask'"},
+        { "kind" : "IdRef", "name" : "'SBT Record Offset'"},
+        { "kind" : "IdRef", "name" : "'SBT Record Stride'"},
+        { "kind" : "IdRef", "name" : "'Miss Index'"},
+        { "kind" : "IdRef", "name" : "'Origin'"},
+        { "kind" : "IdRef", "name" : "'TMin'"},
+        { "kind" : "IdRef", "name" : "'Direction'"},
+        { "kind" : "IdRef", "name" : "'TMax'"},
+        { "kind" : "IdRef", "name" : "'Time'"},
+        { "kind" : "IdRef", "name" : "'Payload'"}
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetShaderRecordBufferHandleNV",
+      "class"  : "Reserved",
+      "opcode" : 5257,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetShaderBindingTableRecordIndexNV",
+      "class"  : "Reserved",
+      "opcode" : 5258,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectRecordEmptyNV",
+      "class"  : "Reserved",
+      "opcode" : 5259,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectTraceRayNV",
+      "class"  : "Reserved",
+      "opcode" : 5260,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Hit Object'" },
+        { "kind" : "IdRef", "name" : "'Acceleration Structure'"},
+        { "kind" : "IdRef", "name" : "'RayFlags'"},
+        { "kind" : "IdRef", "name" : "'Cullmask'"},
+        { "kind" : "IdRef", "name" : "'SBT Record Offset'"},
+        { "kind" : "IdRef", "name" : "'SBT Record Stride'"},
+        { "kind" : "IdRef", "name" : "'Miss Index'"},
+        { "kind" : "IdRef", "name" : "'Origin'"},
+        { "kind" : "IdRef", "name" : "'TMin'"},
+        { "kind" : "IdRef", "name" : "'Direction'"},
+        { "kind" : "IdRef", "name" : "'TMax'"},
+        { "kind" : "IdRef", "name" : "'Payload'"}
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectRecordHitNV",
+      "class"  : "Reserved",
+      "opcode" : 5261,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Hit Object'" },
+        { "kind" : "IdRef", "name" : "'Acceleration Structure'" },
+        { "kind" : "IdRef", "name" : "'InstanceId'" },
+        { "kind" : "IdRef", "name" : "'PrimitiveId'" },
+        { "kind" : "IdRef", "name" : "'GeometryIndex'" },
+        { "kind" : "IdRef", "name" : "'Hit Kind'" },
+        { "kind" : "IdRef", "name" : "'SBT Record Offset'" },
+        { "kind" : "IdRef", "name" : "'SBT Record Stride'" },
+        { "kind" : "IdRef", "name" : "'Origin'" },
+        { "kind" : "IdRef", "name" : "'TMin'" },
+        { "kind" : "IdRef", "name" : "'Direction'" },
+        { "kind" : "IdRef", "name" : "'TMax'" },
+        { "kind" : "IdRef", "name" : "'HitObject Attributes'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectRecordHitWithIndexNV",
+      "class"  : "Reserved",
+      "opcode" : 5262,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Hit Object'" },
+        { "kind" : "IdRef", "name" : "'Acceleration Structure'" },
+        { "kind" : "IdRef", "name" : "'InstanceId'" },
+        { "kind" : "IdRef", "name" : "'PrimitiveId'" },
+        { "kind" : "IdRef", "name" : "'GeometryIndex'" },
+        { "kind" : "IdRef", "name" : "'Hit Kind'" },
+        { "kind" : "IdRef", "name" : "'SBT Record Index'" },
+        { "kind" : "IdRef", "name" : "'Origin'" },
+        { "kind" : "IdRef", "name" : "'TMin'" },
+        { "kind" : "IdRef", "name" : "'Direction'" },
+        { "kind" : "IdRef", "name" : "'TMax'" },
+        { "kind" : "IdRef", "name" : "'HitObject Attributes'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectRecordMissNV",
+      "class"  : "Reserved",
+      "opcode" : 5263,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Hit Object'" },
+        { "kind" : "IdRef", "name" : "'SBT Index'" },
+        { "kind" : "IdRef", "name" : "'Origin'" },
+        { "kind" : "IdRef", "name" : "'TMin'" },
+        { "kind" : "IdRef", "name" : "'Direction'" },
+        { "kind" : "IdRef", "name" : "'TMax'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectExecuteShaderNV",
+      "class"  : "Reserved",
+      "opcode" : 5264,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Hit Object'" },
+        { "kind" : "IdRef", "name" : "'Payload'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetCurrentTimeNV",
+      "class"  : "Reserved",
+      "opcode" : 5265,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetAttributesNV",
+      "class"  : "Reserved",
+      "opcode" : 5266,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Hit Object'" },
+        { "kind" : "IdRef", "name" : "'Hit Object Attribute'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetHitKindNV",
+      "class"  : "Reserved",
+      "opcode" : 5267,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetPrimitiveIndexNV",
+      "class"  : "Reserved",
+      "opcode" : 5268,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetGeometryIndexNV",
+      "class"  : "Reserved",
+      "opcode" : 5269,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetInstanceIdNV",
+      "class"  : "Reserved",
+      "opcode" : 5270,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetInstanceCustomIndexNV",
+      "class"  : "Reserved",
+      "opcode" : 5271,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetWorldRayDirectionNV",
+      "class"  : "Reserved",
+      "opcode" : 5272,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetWorldRayOriginNV",
+      "class"  : "Reserved",
+      "opcode" : 5273,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetRayTMaxNV",
+      "class"  : "Reserved",
+      "opcode" : 5274,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectGetRayTMinNV",
+      "class"  : "Reserved",
+      "opcode" : 5275,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectIsEmptyNV",
+      "class"  : "Reserved",
+      "opcode" : 5276,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectIsHitNV",
+      "class"  : "Reserved",
+      "opcode" : 5277,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpHitObjectIsMissNV",
+      "class"  : "Reserved",
+      "opcode" : 5278,
+      "operands" : [
+        { "kind" : "IdResultType"},
+        { "kind" : "IdResult"},
+        { "kind" : "IdRef", "name" : "'Hit Object'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpReorderThreadWithHitObjectNV",
+      "class"  : "Reserved",
+      "opcode" : 5279,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Hit Object'" },
+        { "kind" : "IdRef", "quantifier" : "?", "name" : "'Hint'" },
+        { "kind" : "IdRef", "quantifier" : "?", "name" : "'Bits'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpReorderThreadWithHintNV",
+      "class"  : "Reserved",
+      "opcode" : 5280,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "'Hint'" },
+        { "kind" : "IdRef", "name" : "'Bits'" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
+      "opname" : "OpTypeHitObjectNV",
+      "class"  : "Reserved",
+      "opcode" : 5281,
+      "operands" : [
+        { "kind" : "IdResult" }
+      ],
+      "capabilities" : [ "ShaderInvocationReorderNV" ],
+      "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+      "version" : "None"
+    },
+    {
       "opname" : "OpImageSampleFootprintNV",
       "class"  : "Image",
       "opcode" : 5283,
           "version" : "1.5"
         },
         {
+          "enumerant" : "HitObjectAttributeNV",
+          "value" : 5385,
+          "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+          "capabilities" : [ "ShaderInvocationReorderNV" ],
+          "version" : "None"
+        },
+        {
           "enumerant" : "TaskPayloadWorkgroupEXT",
           "value" : 5402,
           "extensions" : [ "SPV_EXT_mesh_shader" ],
           "version" : "1.5"
         },
         {
+          "enumerant" : "HitObjectShaderRecordBufferNV",
+          "value" : 5386,
+          "capabilities" : [ "ShaderInvocationReorderNV" ],
+          "version" : "None"
+        },
+        {
           "enumerant" : "BindlessSamplerNV",
           "value" : 5398,
           "capabilities" : [ "BindlessTextureNV" ],
           "version" : "None"
         },
         {
+          "enumerant" : "ShaderInvocationReorderNV",
+          "value" : 5383,
+          "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+          "version" : "None"
+        },
+        {
           "enumerant" : "BindlessTextureNV",
           "value" : 5390,
           "extensions" : [ "SPV_NV_bindless_texture" ],
index 0cf3d34..1b054de 100644 (file)
@@ -223,6 +223,7 @@ namespace Spv
             ShaderRecordBufferNV = 5343,
             PhysicalStorageBuffer = 5349,
             PhysicalStorageBufferEXT = 5349,
+            HitObjectAttributeNV = 5385,
             TaskPayloadWorkgroupEXT = 5402,
             CodeSectionINTEL = 5605,
             DeviceOnlyINTEL = 5936,
@@ -520,6 +521,7 @@ namespace Spv
             RestrictPointerEXT = 5355,
             AliasedPointer = 5356,
             AliasedPointerEXT = 5356,
+            HitObjectShaderRecordBufferNV = 5386,
             BindlessSamplerNV = 5398,
             BindlessImageNV = 5399,
             BoundSamplerNV = 5400,
@@ -1063,6 +1065,7 @@ namespace Spv
             DemoteToHelperInvocation = 5379,
             DemoteToHelperInvocationEXT = 5379,
             RayTracingOpacityMicromapEXT = 5381,
+            ShaderInvocationReorderNV = 5383,
             BindlessTextureNV = 5390,
             SubgroupShuffleINTEL = 5568,
             SubgroupBufferBlockIOINTEL = 5569,
@@ -1618,6 +1621,39 @@ namespace Spv
             OpFragmentMaskFetchAMD = 5011,
             OpFragmentFetchAMD = 5012,
             OpReadClockKHR = 5056,
+            OpHitObjectRecordHitMotionNV = 5249,
+            OpHitObjectRecordHitWithIndexMotionNV = 5250,
+            OpHitObjectRecordMissMotionNV = 5251,
+            OpHitObjectGetWorldToObjectNV = 5252,
+            OpHitObjectGetObjectToWorldNV = 5253,
+            OpHitObjectGetObjectRayDirectionNV = 5254,
+            OpHitObjectGetObjectRayOriginNV = 5255,
+            OpHitObjectTraceRayMotionNV = 5256,
+            OpHitObjectGetShaderRecordBufferHandleNV = 5257,
+            OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+            OpHitObjectRecordEmptyNV = 5259,
+            OpHitObjectTraceRayNV = 5260,
+            OpHitObjectRecordHitNV = 5261,
+            OpHitObjectRecordHitWithIndexNV = 5262,
+            OpHitObjectRecordMissNV = 5263,
+            OpHitObjectExecuteShaderNV = 5264,
+            OpHitObjectGetCurrentTimeNV = 5265,
+            OpHitObjectGetAttributesNV = 5266,
+            OpHitObjectGetHitKindNV = 5267,
+            OpHitObjectGetPrimitiveIndexNV = 5268,
+            OpHitObjectGetGeometryIndexNV = 5269,
+            OpHitObjectGetInstanceIdNV = 5270,
+            OpHitObjectGetInstanceCustomIndexNV = 5271,
+            OpHitObjectGetWorldRayDirectionNV = 5272,
+            OpHitObjectGetWorldRayOriginNV = 5273,
+            OpHitObjectGetRayTMaxNV = 5274,
+            OpHitObjectGetRayTMinNV = 5275,
+            OpHitObjectIsEmptyNV = 5276,
+            OpHitObjectIsHitNV = 5277,
+            OpHitObjectIsMissNV = 5278,
+            OpReorderThreadWithHitObjectNV = 5279,
+            OpReorderThreadWithHintNV = 5280,
+            OpTypeHitObjectNV = 5281,
             OpImageSampleFootprintNV = 5283,
             OpEmitMeshTasksEXT = 5294,
             OpSetMeshOutputsEXT = 5295,
index af4f06b..04450a5 100644 (file)
@@ -231,6 +231,7 @@ typedef enum SpvStorageClass_ {
     SpvStorageClassShaderRecordBufferNV = 5343,
     SpvStorageClassPhysicalStorageBuffer = 5349,
     SpvStorageClassPhysicalStorageBufferEXT = 5349,
+    SpvStorageClassHitObjectAttributeNV = 5385,
     SpvStorageClassTaskPayloadWorkgroupEXT = 5402,
     SpvStorageClassCodeSectionINTEL = 5605,
     SpvStorageClassDeviceOnlyINTEL = 5936,
@@ -526,6 +527,7 @@ typedef enum SpvDecoration_ {
     SpvDecorationRestrictPointerEXT = 5355,
     SpvDecorationAliasedPointer = 5356,
     SpvDecorationAliasedPointerEXT = 5356,
+    SpvDecorationHitObjectShaderRecordBufferNV = 5386,
     SpvDecorationBindlessSamplerNV = 5398,
     SpvDecorationBindlessImageNV = 5399,
     SpvDecorationBoundSamplerNV = 5400,
@@ -1063,6 +1065,7 @@ typedef enum SpvCapability_ {
     SpvCapabilityDemoteToHelperInvocation = 5379,
     SpvCapabilityDemoteToHelperInvocationEXT = 5379,
     SpvCapabilityRayTracingOpacityMicromapEXT = 5381,
+    SpvCapabilityShaderInvocationReorderNV = 5383,
     SpvCapabilityBindlessTextureNV = 5390,
     SpvCapabilitySubgroupShuffleINTEL = 5568,
     SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
@@ -1616,6 +1619,39 @@ typedef enum SpvOp_ {
     SpvOpFragmentMaskFetchAMD = 5011,
     SpvOpFragmentFetchAMD = 5012,
     SpvOpReadClockKHR = 5056,
+    SpvOpHitObjectRecordHitMotionNV = 5249,
+    SpvOpHitObjectRecordHitWithIndexMotionNV = 5250,
+    SpvOpHitObjectRecordMissMotionNV = 5251,
+    SpvOpHitObjectGetWorldToObjectNV = 5252,
+    SpvOpHitObjectGetObjectToWorldNV = 5253,
+    SpvOpHitObjectGetObjectRayDirectionNV = 5254,
+    SpvOpHitObjectGetObjectRayOriginNV = 5255,
+    SpvOpHitObjectTraceRayMotionNV = 5256,
+    SpvOpHitObjectGetShaderRecordBufferHandleNV = 5257,
+    SpvOpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+    SpvOpHitObjectRecordEmptyNV = 5259,
+    SpvOpHitObjectTraceRayNV = 5260,
+    SpvOpHitObjectRecordHitNV = 5261,
+    SpvOpHitObjectRecordHitWithIndexNV = 5262,
+    SpvOpHitObjectRecordMissNV = 5263,
+    SpvOpHitObjectExecuteShaderNV = 5264,
+    SpvOpHitObjectGetCurrentTimeNV = 5265,
+    SpvOpHitObjectGetAttributesNV = 5266,
+    SpvOpHitObjectGetHitKindNV = 5267,
+    SpvOpHitObjectGetPrimitiveIndexNV = 5268,
+    SpvOpHitObjectGetGeometryIndexNV = 5269,
+    SpvOpHitObjectGetInstanceIdNV = 5270,
+    SpvOpHitObjectGetInstanceCustomIndexNV = 5271,
+    SpvOpHitObjectGetWorldRayDirectionNV = 5272,
+    SpvOpHitObjectGetWorldRayOriginNV = 5273,
+    SpvOpHitObjectGetRayTMaxNV = 5274,
+    SpvOpHitObjectGetRayTMinNV = 5275,
+    SpvOpHitObjectIsEmptyNV = 5276,
+    SpvOpHitObjectIsHitNV = 5277,
+    SpvOpHitObjectIsMissNV = 5278,
+    SpvOpReorderThreadWithHitObjectNV = 5279,
+    SpvOpReorderThreadWithHintNV = 5280,
+    SpvOpTypeHitObjectNV = 5281,
     SpvOpImageSampleFootprintNV = 5283,
     SpvOpEmitMeshTasksEXT = 5294,
     SpvOpSetMeshOutputsEXT = 5295,
@@ -2291,6 +2327,39 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
     case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
     case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
     case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
+    case SpvOpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;
+    case SpvOpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;
+    case SpvOpHitObjectGetWorldToObjectNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectGetObjectToWorldNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectGetObjectRayDirectionNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectGetObjectRayOriginNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
+    case SpvOpHitObjectGetShaderRecordBufferHandleNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectGetShaderBindingTableRecordIndexNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectRecordEmptyNV: *hasResult = false; *hasResultType = false; break;
+    case SpvOpHitObjectTraceRayNV: *hasResult = false; *hasResultType = false; break;
+    case SpvOpHitObjectRecordHitNV: *hasResult = false; *hasResultType = false; break;
+    case SpvOpHitObjectRecordHitWithIndexNV: *hasResult = false; *hasResultType = false; break;
+    case SpvOpHitObjectRecordMissNV: *hasResult = false; *hasResultType = false; break;
+    case SpvOpHitObjectExecuteShaderNV: *hasResult = false; *hasResultType = false; break;
+    case SpvOpHitObjectGetCurrentTimeNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectGetAttributesNV: *hasResult = false; *hasResultType = false; break;
+    case SpvOpHitObjectGetHitKindNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectGetPrimitiveIndexNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectGetGeometryIndexNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectGetInstanceIdNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectGetInstanceCustomIndexNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectGetWorldRayDirectionNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectGetWorldRayOriginNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectGetRayTMaxNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectGetRayTMinNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectIsEmptyNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectIsHitNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpHitObjectIsMissNV: *hasResult = true; *hasResultType = true; break;
+    case SpvOpReorderThreadWithHitObjectNV: *hasResult = false; *hasResultType = false; break;
+    case SpvOpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break;
+    case SpvOpTypeHitObjectNV: *hasResult = true; *hasResultType = false; break;
     case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
     case SpvOpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
     case SpvOpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
index b7ec5d7..7ad9751 100644 (file)
@@ -227,6 +227,7 @@ enum StorageClass {
     StorageClassShaderRecordBufferNV = 5343,
     StorageClassPhysicalStorageBuffer = 5349,
     StorageClassPhysicalStorageBufferEXT = 5349,
+    StorageClassHitObjectAttributeNV = 5385,
     StorageClassTaskPayloadWorkgroupEXT = 5402,
     StorageClassCodeSectionINTEL = 5605,
     StorageClassDeviceOnlyINTEL = 5936,
@@ -522,6 +523,7 @@ enum Decoration {
     DecorationRestrictPointerEXT = 5355,
     DecorationAliasedPointer = 5356,
     DecorationAliasedPointerEXT = 5356,
+    DecorationHitObjectShaderRecordBufferNV = 5386,
     DecorationBindlessSamplerNV = 5398,
     DecorationBindlessImageNV = 5399,
     DecorationBoundSamplerNV = 5400,
@@ -1059,6 +1061,7 @@ enum Capability {
     CapabilityDemoteToHelperInvocation = 5379,
     CapabilityDemoteToHelperInvocationEXT = 5379,
     CapabilityRayTracingOpacityMicromapEXT = 5381,
+    CapabilityShaderInvocationReorderNV = 5383,
     CapabilityBindlessTextureNV = 5390,
     CapabilitySubgroupShuffleINTEL = 5568,
     CapabilitySubgroupBufferBlockIOINTEL = 5569,
@@ -1612,6 +1615,39 @@ enum Op {
     OpFragmentMaskFetchAMD = 5011,
     OpFragmentFetchAMD = 5012,
     OpReadClockKHR = 5056,
+    OpHitObjectRecordHitMotionNV = 5249,
+    OpHitObjectRecordHitWithIndexMotionNV = 5250,
+    OpHitObjectRecordMissMotionNV = 5251,
+    OpHitObjectGetWorldToObjectNV = 5252,
+    OpHitObjectGetObjectToWorldNV = 5253,
+    OpHitObjectGetObjectRayDirectionNV = 5254,
+    OpHitObjectGetObjectRayOriginNV = 5255,
+    OpHitObjectTraceRayMotionNV = 5256,
+    OpHitObjectGetShaderRecordBufferHandleNV = 5257,
+    OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+    OpHitObjectRecordEmptyNV = 5259,
+    OpHitObjectTraceRayNV = 5260,
+    OpHitObjectRecordHitNV = 5261,
+    OpHitObjectRecordHitWithIndexNV = 5262,
+    OpHitObjectRecordMissNV = 5263,
+    OpHitObjectExecuteShaderNV = 5264,
+    OpHitObjectGetCurrentTimeNV = 5265,
+    OpHitObjectGetAttributesNV = 5266,
+    OpHitObjectGetHitKindNV = 5267,
+    OpHitObjectGetPrimitiveIndexNV = 5268,
+    OpHitObjectGetGeometryIndexNV = 5269,
+    OpHitObjectGetInstanceIdNV = 5270,
+    OpHitObjectGetInstanceCustomIndexNV = 5271,
+    OpHitObjectGetWorldRayDirectionNV = 5272,
+    OpHitObjectGetWorldRayOriginNV = 5273,
+    OpHitObjectGetRayTMaxNV = 5274,
+    OpHitObjectGetRayTMinNV = 5275,
+    OpHitObjectIsEmptyNV = 5276,
+    OpHitObjectIsHitNV = 5277,
+    OpHitObjectIsMissNV = 5278,
+    OpReorderThreadWithHitObjectNV = 5279,
+    OpReorderThreadWithHintNV = 5280,
+    OpTypeHitObjectNV = 5281,
     OpImageSampleFootprintNV = 5283,
     OpEmitMeshTasksEXT = 5294,
     OpSetMeshOutputsEXT = 5295,
@@ -2287,6 +2323,39 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
     case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
     case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
     case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
+    case OpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;
+    case OpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;
+    case OpHitObjectGetWorldToObjectNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectGetObjectToWorldNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectGetObjectRayDirectionNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectGetObjectRayOriginNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
+    case OpHitObjectGetShaderRecordBufferHandleNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectGetShaderBindingTableRecordIndexNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectRecordEmptyNV: *hasResult = false; *hasResultType = false; break;
+    case OpHitObjectTraceRayNV: *hasResult = false; *hasResultType = false; break;
+    case OpHitObjectRecordHitNV: *hasResult = false; *hasResultType = false; break;
+    case OpHitObjectRecordHitWithIndexNV: *hasResult = false; *hasResultType = false; break;
+    case OpHitObjectRecordMissNV: *hasResult = false; *hasResultType = false; break;
+    case OpHitObjectExecuteShaderNV: *hasResult = false; *hasResultType = false; break;
+    case OpHitObjectGetCurrentTimeNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectGetAttributesNV: *hasResult = false; *hasResultType = false; break;
+    case OpHitObjectGetHitKindNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectGetPrimitiveIndexNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectGetGeometryIndexNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectGetInstanceIdNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectGetInstanceCustomIndexNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectGetWorldRayDirectionNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectGetWorldRayOriginNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectGetRayTMaxNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectGetRayTMinNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectIsEmptyNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectIsHitNV: *hasResult = true; *hasResultType = true; break;
+    case OpHitObjectIsMissNV: *hasResult = true; *hasResultType = true; break;
+    case OpReorderThreadWithHitObjectNV: *hasResult = false; *hasResultType = false; break;
+    case OpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break;
+    case OpTypeHitObjectNV: *hasResult = true; *hasResultType = false; break;
     case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
     case OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
     case OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
index f0f5871..3ddb6a0 100644 (file)
@@ -227,6 +227,7 @@ enum class StorageClass : unsigned {
     ShaderRecordBufferNV = 5343,
     PhysicalStorageBuffer = 5349,
     PhysicalStorageBufferEXT = 5349,
+    HitObjectAttributeNV = 5385,
     TaskPayloadWorkgroupEXT = 5402,
     CodeSectionINTEL = 5605,
     DeviceOnlyINTEL = 5936,
@@ -522,6 +523,7 @@ enum class Decoration : unsigned {
     RestrictPointerEXT = 5355,
     AliasedPointer = 5356,
     AliasedPointerEXT = 5356,
+    HitObjectShaderRecordBufferNV = 5386,
     BindlessSamplerNV = 5398,
     BindlessImageNV = 5399,
     BoundSamplerNV = 5400,
@@ -1059,6 +1061,7 @@ enum class Capability : unsigned {
     DemoteToHelperInvocation = 5379,
     DemoteToHelperInvocationEXT = 5379,
     RayTracingOpacityMicromapEXT = 5381,
+    ShaderInvocationReorderNV = 5383,
     BindlessTextureNV = 5390,
     SubgroupShuffleINTEL = 5568,
     SubgroupBufferBlockIOINTEL = 5569,
@@ -1612,6 +1615,39 @@ enum class Op : unsigned {
     OpFragmentMaskFetchAMD = 5011,
     OpFragmentFetchAMD = 5012,
     OpReadClockKHR = 5056,
+    OpHitObjectRecordHitMotionNV = 5249,
+    OpHitObjectRecordHitWithIndexMotionNV = 5250,
+    OpHitObjectRecordMissMotionNV = 5251,
+    OpHitObjectGetWorldToObjectNV = 5252,
+    OpHitObjectGetObjectToWorldNV = 5253,
+    OpHitObjectGetObjectRayDirectionNV = 5254,
+    OpHitObjectGetObjectRayOriginNV = 5255,
+    OpHitObjectTraceRayMotionNV = 5256,
+    OpHitObjectGetShaderRecordBufferHandleNV = 5257,
+    OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+    OpHitObjectRecordEmptyNV = 5259,
+    OpHitObjectTraceRayNV = 5260,
+    OpHitObjectRecordHitNV = 5261,
+    OpHitObjectRecordHitWithIndexNV = 5262,
+    OpHitObjectRecordMissNV = 5263,
+    OpHitObjectExecuteShaderNV = 5264,
+    OpHitObjectGetCurrentTimeNV = 5265,
+    OpHitObjectGetAttributesNV = 5266,
+    OpHitObjectGetHitKindNV = 5267,
+    OpHitObjectGetPrimitiveIndexNV = 5268,
+    OpHitObjectGetGeometryIndexNV = 5269,
+    OpHitObjectGetInstanceIdNV = 5270,
+    OpHitObjectGetInstanceCustomIndexNV = 5271,
+    OpHitObjectGetWorldRayDirectionNV = 5272,
+    OpHitObjectGetWorldRayOriginNV = 5273,
+    OpHitObjectGetRayTMaxNV = 5274,
+    OpHitObjectGetRayTMinNV = 5275,
+    OpHitObjectIsEmptyNV = 5276,
+    OpHitObjectIsHitNV = 5277,
+    OpHitObjectIsMissNV = 5278,
+    OpReorderThreadWithHitObjectNV = 5279,
+    OpReorderThreadWithHintNV = 5280,
+    OpTypeHitObjectNV = 5281,
     OpImageSampleFootprintNV = 5283,
     OpEmitMeshTasksEXT = 5294,
     OpSetMeshOutputsEXT = 5295,
@@ -2287,6 +2323,39 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
     case Op::OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
     case Op::OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
     case Op::OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
+    case Op::OpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;
+    case Op::OpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;
+    case Op::OpHitObjectGetWorldToObjectNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectGetObjectToWorldNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectGetObjectRayDirectionNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectGetObjectRayOriginNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
+    case Op::OpHitObjectGetShaderRecordBufferHandleNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectGetShaderBindingTableRecordIndexNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectRecordEmptyNV: *hasResult = false; *hasResultType = false; break;
+    case Op::OpHitObjectTraceRayNV: *hasResult = false; *hasResultType = false; break;
+    case Op::OpHitObjectRecordHitNV: *hasResult = false; *hasResultType = false; break;
+    case Op::OpHitObjectRecordHitWithIndexNV: *hasResult = false; *hasResultType = false; break;
+    case Op::OpHitObjectRecordMissNV: *hasResult = false; *hasResultType = false; break;
+    case Op::OpHitObjectExecuteShaderNV: *hasResult = false; *hasResultType = false; break;
+    case Op::OpHitObjectGetCurrentTimeNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectGetAttributesNV: *hasResult = false; *hasResultType = false; break;
+    case Op::OpHitObjectGetHitKindNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectGetPrimitiveIndexNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectGetGeometryIndexNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectGetInstanceIdNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectGetInstanceCustomIndexNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectGetWorldRayDirectionNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectGetWorldRayOriginNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectGetRayTMaxNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectGetRayTMinNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectIsEmptyNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectIsHitNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpHitObjectIsMissNV: *hasResult = true; *hasResultType = true; break;
+    case Op::OpReorderThreadWithHitObjectNV: *hasResult = false; *hasResultType = false; break;
+    case Op::OpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break;
+    case Op::OpTypeHitObjectNV: *hasResult = true; *hasResultType = false; break;
     case Op::OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
     case Op::OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
     case Op::OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
index 466f0b0..4613b4e 100644 (file)
                     "ShaderRecordBufferNV": 5343,
                     "PhysicalStorageBuffer": 5349,
                     "PhysicalStorageBufferEXT": 5349,
+                    "HitObjectAttributeNV": 5385,
                     "TaskPayloadWorkgroupEXT": 5402,
                     "CodeSectionINTEL": 5605,
                     "DeviceOnlyINTEL": 5936,
                     "RestrictPointerEXT": 5355,
                     "AliasedPointer": 5356,
                     "AliasedPointerEXT": 5356,
+                    "HitObjectShaderRecordBufferNV": 5386,
                     "BindlessSamplerNV": 5398,
                     "BindlessImageNV": 5399,
                     "BoundSamplerNV": 5400,
                     "DemoteToHelperInvocation": 5379,
                     "DemoteToHelperInvocationEXT": 5379,
                     "RayTracingOpacityMicromapEXT": 5381,
+                    "ShaderInvocationReorderNV": 5383,
                     "BindlessTextureNV": 5390,
                     "SubgroupShuffleINTEL": 5568,
                     "SubgroupBufferBlockIOINTEL": 5569,
                     "OpFragmentMaskFetchAMD": 5011,
                     "OpFragmentFetchAMD": 5012,
                     "OpReadClockKHR": 5056,
+                    "OpHitObjectRecordHitMotionNV": 5249,
+                    "OpHitObjectRecordHitWithIndexMotionNV": 5250,
+                    "OpHitObjectRecordMissMotionNV": 5251,
+                    "OpHitObjectGetWorldToObjectNV": 5252,
+                    "OpHitObjectGetObjectToWorldNV": 5253,
+                    "OpHitObjectGetObjectRayDirectionNV": 5254,
+                    "OpHitObjectGetObjectRayOriginNV": 5255,
+                    "OpHitObjectTraceRayMotionNV": 5256,
+                    "OpHitObjectGetShaderRecordBufferHandleNV": 5257,
+                    "OpHitObjectGetShaderBindingTableRecordIndexNV": 5258,
+                    "OpHitObjectRecordEmptyNV": 5259,
+                    "OpHitObjectTraceRayNV": 5260,
+                    "OpHitObjectRecordHitNV": 5261,
+                    "OpHitObjectRecordHitWithIndexNV": 5262,
+                    "OpHitObjectRecordMissNV": 5263,
+                    "OpHitObjectExecuteShaderNV": 5264,
+                    "OpHitObjectGetCurrentTimeNV": 5265,
+                    "OpHitObjectGetAttributesNV": 5266,
+                    "OpHitObjectGetHitKindNV": 5267,
+                    "OpHitObjectGetPrimitiveIndexNV": 5268,
+                    "OpHitObjectGetGeometryIndexNV": 5269,
+                    "OpHitObjectGetInstanceIdNV": 5270,
+                    "OpHitObjectGetInstanceCustomIndexNV": 5271,
+                    "OpHitObjectGetWorldRayDirectionNV": 5272,
+                    "OpHitObjectGetWorldRayOriginNV": 5273,
+                    "OpHitObjectGetRayTMaxNV": 5274,
+                    "OpHitObjectGetRayTMinNV": 5275,
+                    "OpHitObjectIsEmptyNV": 5276,
+                    "OpHitObjectIsHitNV": 5277,
+                    "OpHitObjectIsMissNV": 5278,
+                    "OpReorderThreadWithHitObjectNV": 5279,
+                    "OpReorderThreadWithHintNV": 5280,
+                    "OpTypeHitObjectNV": 5281,
                     "OpImageSampleFootprintNV": 5283,
                     "OpEmitMeshTasksEXT": 5294,
                     "OpSetMeshOutputsEXT": 5295,
index b763c84..acdf285 100644 (file)
@@ -213,6 +213,7 @@ spv = {
         ShaderRecordBufferNV = 5343,
         PhysicalStorageBuffer = 5349,
         PhysicalStorageBufferEXT = 5349,
+        HitObjectAttributeNV = 5385,
         TaskPayloadWorkgroupEXT = 5402,
         CodeSectionINTEL = 5605,
         DeviceOnlyINTEL = 5936,
@@ -495,6 +496,7 @@ spv = {
         RestrictPointerEXT = 5355,
         AliasedPointer = 5356,
         AliasedPointerEXT = 5356,
+        HitObjectShaderRecordBufferNV = 5386,
         BindlessSamplerNV = 5398,
         BindlessImageNV = 5399,
         BoundSamplerNV = 5400,
@@ -1021,6 +1023,7 @@ spv = {
         DemoteToHelperInvocation = 5379,
         DemoteToHelperInvocationEXT = 5379,
         RayTracingOpacityMicromapEXT = 5381,
+        ShaderInvocationReorderNV = 5383,
         BindlessTextureNV = 5390,
         SubgroupShuffleINTEL = 5568,
         SubgroupBufferBlockIOINTEL = 5569,
@@ -1563,6 +1566,39 @@ spv = {
         OpFragmentMaskFetchAMD = 5011,
         OpFragmentFetchAMD = 5012,
         OpReadClockKHR = 5056,
+        OpHitObjectRecordHitMotionNV = 5249,
+        OpHitObjectRecordHitWithIndexMotionNV = 5250,
+        OpHitObjectRecordMissMotionNV = 5251,
+        OpHitObjectGetWorldToObjectNV = 5252,
+        OpHitObjectGetObjectToWorldNV = 5253,
+        OpHitObjectGetObjectRayDirectionNV = 5254,
+        OpHitObjectGetObjectRayOriginNV = 5255,
+        OpHitObjectTraceRayMotionNV = 5256,
+        OpHitObjectGetShaderRecordBufferHandleNV = 5257,
+        OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+        OpHitObjectRecordEmptyNV = 5259,
+        OpHitObjectTraceRayNV = 5260,
+        OpHitObjectRecordHitNV = 5261,
+        OpHitObjectRecordHitWithIndexNV = 5262,
+        OpHitObjectRecordMissNV = 5263,
+        OpHitObjectExecuteShaderNV = 5264,
+        OpHitObjectGetCurrentTimeNV = 5265,
+        OpHitObjectGetAttributesNV = 5266,
+        OpHitObjectGetHitKindNV = 5267,
+        OpHitObjectGetPrimitiveIndexNV = 5268,
+        OpHitObjectGetGeometryIndexNV = 5269,
+        OpHitObjectGetInstanceIdNV = 5270,
+        OpHitObjectGetInstanceCustomIndexNV = 5271,
+        OpHitObjectGetWorldRayDirectionNV = 5272,
+        OpHitObjectGetWorldRayOriginNV = 5273,
+        OpHitObjectGetRayTMaxNV = 5274,
+        OpHitObjectGetRayTMinNV = 5275,
+        OpHitObjectIsEmptyNV = 5276,
+        OpHitObjectIsHitNV = 5277,
+        OpHitObjectIsMissNV = 5278,
+        OpReorderThreadWithHitObjectNV = 5279,
+        OpReorderThreadWithHintNV = 5280,
+        OpTypeHitObjectNV = 5281,
         OpImageSampleFootprintNV = 5283,
         OpEmitMeshTasksEXT = 5294,
         OpSetMeshOutputsEXT = 5295,
index 12e3401..b48291d 100644 (file)
@@ -213,6 +213,7 @@ spv = {
         'ShaderRecordBufferNV' : 5343,
         'PhysicalStorageBuffer' : 5349,
         'PhysicalStorageBufferEXT' : 5349,
+        'HitObjectAttributeNV' : 5385,
         'TaskPayloadWorkgroupEXT' : 5402,
         'CodeSectionINTEL' : 5605,
         'DeviceOnlyINTEL' : 5936,
@@ -495,6 +496,7 @@ spv = {
         'RestrictPointerEXT' : 5355,
         'AliasedPointer' : 5356,
         'AliasedPointerEXT' : 5356,
+        'HitObjectShaderRecordBufferNV' : 5386,
         'BindlessSamplerNV' : 5398,
         'BindlessImageNV' : 5399,
         'BoundSamplerNV' : 5400,
@@ -1021,6 +1023,7 @@ spv = {
         'DemoteToHelperInvocation' : 5379,
         'DemoteToHelperInvocationEXT' : 5379,
         'RayTracingOpacityMicromapEXT' : 5381,
+        'ShaderInvocationReorderNV' : 5383,
         'BindlessTextureNV' : 5390,
         'SubgroupShuffleINTEL' : 5568,
         'SubgroupBufferBlockIOINTEL' : 5569,
@@ -1563,6 +1566,39 @@ spv = {
         'OpFragmentMaskFetchAMD' : 5011,
         'OpFragmentFetchAMD' : 5012,
         'OpReadClockKHR' : 5056,
+        'OpHitObjectRecordHitMotionNV' : 5249,
+        'OpHitObjectRecordHitWithIndexMotionNV' : 5250,
+        'OpHitObjectRecordMissMotionNV' : 5251,
+        'OpHitObjectGetWorldToObjectNV' : 5252,
+        'OpHitObjectGetObjectToWorldNV' : 5253,
+        'OpHitObjectGetObjectRayDirectionNV' : 5254,
+        'OpHitObjectGetObjectRayOriginNV' : 5255,
+        'OpHitObjectTraceRayMotionNV' : 5256,
+        'OpHitObjectGetShaderRecordBufferHandleNV' : 5257,
+        'OpHitObjectGetShaderBindingTableRecordIndexNV' : 5258,
+        'OpHitObjectRecordEmptyNV' : 5259,
+        'OpHitObjectTraceRayNV' : 5260,
+        'OpHitObjectRecordHitNV' : 5261,
+        'OpHitObjectRecordHitWithIndexNV' : 5262,
+        'OpHitObjectRecordMissNV' : 5263,
+        'OpHitObjectExecuteShaderNV' : 5264,
+        'OpHitObjectGetCurrentTimeNV' : 5265,
+        'OpHitObjectGetAttributesNV' : 5266,
+        'OpHitObjectGetHitKindNV' : 5267,
+        'OpHitObjectGetPrimitiveIndexNV' : 5268,
+        'OpHitObjectGetGeometryIndexNV' : 5269,
+        'OpHitObjectGetInstanceIdNV' : 5270,
+        'OpHitObjectGetInstanceCustomIndexNV' : 5271,
+        'OpHitObjectGetWorldRayDirectionNV' : 5272,
+        'OpHitObjectGetWorldRayOriginNV' : 5273,
+        'OpHitObjectGetRayTMaxNV' : 5274,
+        'OpHitObjectGetRayTMinNV' : 5275,
+        'OpHitObjectIsEmptyNV' : 5276,
+        'OpHitObjectIsHitNV' : 5277,
+        'OpHitObjectIsMissNV' : 5278,
+        'OpReorderThreadWithHitObjectNV' : 5279,
+        'OpReorderThreadWithHintNV' : 5280,
+        'OpTypeHitObjectNV' : 5281,
         'OpImageSampleFootprintNV' : 5283,
         'OpEmitMeshTasksEXT' : 5294,
         'OpSetMeshOutputsEXT' : 5295,
index 6462405..10a2e77 100644 (file)
@@ -226,6 +226,7 @@ enum StorageClass : uint
     ShaderRecordBufferNV = 5343,
     PhysicalStorageBuffer = 5349,
     PhysicalStorageBufferEXT = 5349,
+    HitObjectAttributeNV = 5385,
     TaskPayloadWorkgroupEXT = 5402,
     CodeSectionINTEL = 5605,
     DeviceOnlyINTEL = 5936,
@@ -523,6 +524,7 @@ enum Decoration : uint
     RestrictPointerEXT = 5355,
     AliasedPointer = 5356,
     AliasedPointerEXT = 5356,
+    HitObjectShaderRecordBufferNV = 5386,
     BindlessSamplerNV = 5398,
     BindlessImageNV = 5399,
     BoundSamplerNV = 5400,
@@ -1066,6 +1068,7 @@ enum Capability : uint
     DemoteToHelperInvocation = 5379,
     DemoteToHelperInvocationEXT = 5379,
     RayTracingOpacityMicromapEXT = 5381,
+    ShaderInvocationReorderNV = 5383,
     BindlessTextureNV = 5390,
     SubgroupShuffleINTEL = 5568,
     SubgroupBufferBlockIOINTEL = 5569,
@@ -1621,6 +1624,39 @@ enum Op : uint
     OpFragmentMaskFetchAMD = 5011,
     OpFragmentFetchAMD = 5012,
     OpReadClockKHR = 5056,
+    OpHitObjectRecordHitMotionNV = 5249,
+    OpHitObjectRecordHitWithIndexMotionNV = 5250,
+    OpHitObjectRecordMissMotionNV = 5251,
+    OpHitObjectGetWorldToObjectNV = 5252,
+    OpHitObjectGetObjectToWorldNV = 5253,
+    OpHitObjectGetObjectRayDirectionNV = 5254,
+    OpHitObjectGetObjectRayOriginNV = 5255,
+    OpHitObjectTraceRayMotionNV = 5256,
+    OpHitObjectGetShaderRecordBufferHandleNV = 5257,
+    OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+    OpHitObjectRecordEmptyNV = 5259,
+    OpHitObjectTraceRayNV = 5260,
+    OpHitObjectRecordHitNV = 5261,
+    OpHitObjectRecordHitWithIndexNV = 5262,
+    OpHitObjectRecordMissNV = 5263,
+    OpHitObjectExecuteShaderNV = 5264,
+    OpHitObjectGetCurrentTimeNV = 5265,
+    OpHitObjectGetAttributesNV = 5266,
+    OpHitObjectGetHitKindNV = 5267,
+    OpHitObjectGetPrimitiveIndexNV = 5268,
+    OpHitObjectGetGeometryIndexNV = 5269,
+    OpHitObjectGetInstanceIdNV = 5270,
+    OpHitObjectGetInstanceCustomIndexNV = 5271,
+    OpHitObjectGetWorldRayDirectionNV = 5272,
+    OpHitObjectGetWorldRayOriginNV = 5273,
+    OpHitObjectGetRayTMaxNV = 5274,
+    OpHitObjectGetRayTMinNV = 5275,
+    OpHitObjectIsEmptyNV = 5276,
+    OpHitObjectIsHitNV = 5277,
+    OpHitObjectIsMissNV = 5278,
+    OpReorderThreadWithHitObjectNV = 5279,
+    OpReorderThreadWithHintNV = 5280,
+    OpTypeHitObjectNV = 5281,
     OpImageSampleFootprintNV = 5283,
     OpEmitMeshTasksEXT = 5294,
     OpSetMeshOutputsEXT = 5295,