From 62d3e8314d2c4f26de24ca508bca2070f3d254aa Mon Sep 17 00:00:00 2001 From: Spencer Fricke <115671160+spencer-lunarg@users.noreply.github.com> Date: Wed, 13 May 2026 11:47:28 -0400 Subject: [PATCH 11/26] Add SPV_KHR_opacity_micromap (#599) --- include/spirv/unified1/spirv.bf | 5 ++++ .../spirv/unified1/spirv.core.grammar.json | 26 ++++++++++++++++--- include/spirv/unified1/spirv.cs | 5 ++++ include/spirv/unified1/spirv.h | 7 +++++ include/spirv/unified1/spirv.hpp | 7 +++++ include/spirv/unified1/spirv.hpp11 | 7 +++++ include/spirv/unified1/spirv.json | 6 ++++- include/spirv/unified1/spirv.lua | 5 ++++ include/spirv/unified1/spirv.py | 5 ++++ include/spirv/unified1/spv.d | 5 ++++ 10 files changed, 73 insertions(+), 5 deletions(-) diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf index 8d0bc34..a512a3e 100644 --- a/include/spirv/unified1/spirv.bf +++ b/include/spirv/unified1/spirv.bf @@ -206,6 +206,7 @@ namespace Spv SchedulerTargetFmaxMhzINTEL = 5903, MaximallyReconvergesKHR = 6023, FPFastMathDefault = 6028, + OpacityMicromapIdKHR = 6031, StreamingInterfaceINTEL = 6154, RegisterMapInterfaceINTEL = 6160, NamedBarrierCountINTEL = 6417, @@ -1304,6 +1305,7 @@ namespace Spv DemoteToHelperInvocationEXT = 5379, DisplacementMicromapNV = 5380, RayTracingOpacityMicromapEXT = 5381, + RayTracingOpacityMicromapKHR = 5381, ShaderInvocationReorderNV = 5383, ShaderInvocationReorderEXT = 5388, BindlessTextureNV = 5390, @@ -1398,6 +1400,7 @@ namespace Spv GroupNonUniformRotateKHR = 6026, FloatControls2 = 6029, FMAKHR = 6030, + RayTracingOpacityMicromapExecutionModeKHR = 6032, AtomicFloat32AddEXT = 6033, AtomicFloat64AddEXT = 6034, LongCompositesINTEL = 6089, @@ -1459,6 +1462,7 @@ namespace Spv SkipTrianglesKHR = 8, SkipAABBsKHR = 9, ForceOpacityMicromap2StateEXT = 10, + ForceOpacityMicromap2StateKHR = 10, Max = 0x7fffffff, } @@ -1477,6 +1481,7 @@ namespace Spv SkipTrianglesKHR = 0x00000100, SkipAABBsKHR = 0x00000200, ForceOpacityMicromap2StateEXT = 0x00000400, + ForceOpacityMicromap2StateKHR = 0x00000400, } [AllowDuplicates, CRepr] public enum RayQueryIntersection diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json index c84dc2d..32a350a 100644 --- a/include/spirv/unified1/spirv.core.grammar.json +++ b/include/spirv/unified1/spirv.core.grammar.json @@ -12549,9 +12549,10 @@ "version" : "None" }, { - "enumerant" : "ForceOpacityMicromap2StateEXT", + "enumerant" : "ForceOpacityMicromap2StateKHR", + "aliases" : [ "ForceOpacityMicromap2StateEXT" ], "value" : "0x0400", - "capabilities" : [ "RayTracingOpacityMicromapEXT" ], + "capabilities" : [ "RayTracingOpacityMicromapKHR" ], "version" : "None" } ] @@ -13576,6 +13577,15 @@ "capabilities" : [ "FloatControls2" ], "version" : "None" }, + { + "enumerant" : "OpacityMicromapIdKHR", + "value" : 6031, + "capabilities" : [ "RayTracingOpacityMicromapExecutionModeKHR" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Enable" } + ], + "version" : "None" + }, { "enumerant" : "StreamingInterfaceINTEL", "value" : 6154, @@ -18062,10 +18072,11 @@ "version" : "None" }, { - "enumerant" : "RayTracingOpacityMicromapEXT", + "enumerant" : "RayTracingOpacityMicromapKHR", + "aliases" : ["RayTracingOpacityMicromapEXT"], "value" : 5381, "capabilities" : [ "Shader" ], - "extensions" : [ "SPV_EXT_opacity_micromap" ], + "extensions" : ["SPV_KHR_opacity_micromap", "SPV_EXT_opacity_micromap"], "version" : "None" }, { @@ -18542,6 +18553,13 @@ "extensions" : [ "SPV_KHR_fma" ], "version" : "None" }, + { + "enumerant" : "RayTracingOpacityMicromapExecutionModeKHR", + "value" : 6032, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_opacity_micromap" ], + "version" : "None" + }, { "enumerant" : "AtomicFloat32AddEXT", "value" : 6033, diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs index b0a8f1e..4d33ffa 100644 --- a/include/spirv/unified1/spirv.cs +++ b/include/spirv/unified1/spirv.cs @@ -205,6 +205,7 @@ namespace Spv SchedulerTargetFmaxMhzINTEL = 5903, MaximallyReconvergesKHR = 6023, FPFastMathDefault = 6028, + OpacityMicromapIdKHR = 6031, StreamingInterfaceINTEL = 6154, RegisterMapInterfaceINTEL = 6160, NamedBarrierCountINTEL = 6417, @@ -1303,6 +1304,7 @@ namespace Spv DemoteToHelperInvocationEXT = 5379, DisplacementMicromapNV = 5380, RayTracingOpacityMicromapEXT = 5381, + RayTracingOpacityMicromapKHR = 5381, ShaderInvocationReorderNV = 5383, ShaderInvocationReorderEXT = 5388, BindlessTextureNV = 5390, @@ -1397,6 +1399,7 @@ namespace Spv GroupNonUniformRotateKHR = 6026, FloatControls2 = 6029, FMAKHR = 6030, + RayTracingOpacityMicromapExecutionModeKHR = 6032, AtomicFloat32AddEXT = 6033, AtomicFloat64AddEXT = 6034, LongCompositesINTEL = 6089, @@ -1458,6 +1461,7 @@ namespace Spv SkipTrianglesKHR = 8, SkipAABBsKHR = 9, ForceOpacityMicromap2StateEXT = 10, + ForceOpacityMicromap2StateKHR = 10, Max = 0x7fffffff, } @@ -1476,6 +1480,7 @@ namespace Spv SkipTrianglesKHR = 0x00000100, SkipAABBsKHR = 0x00000200, ForceOpacityMicromap2StateEXT = 0x00000400, + ForceOpacityMicromap2StateKHR = 0x00000400, } public enum RayQueryIntersection diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h index 4f76b90..d9dedc0 100644 --- a/include/spirv/unified1/spirv.h +++ b/include/spirv/unified1/spirv.h @@ -209,6 +209,7 @@ typedef enum SpvExecutionMode_ { SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903, SpvExecutionModeMaximallyReconvergesKHR = 6023, SpvExecutionModeFPFastMathDefault = 6028, + SpvExecutionModeOpacityMicromapIdKHR = 6031, SpvExecutionModeStreamingInterfaceINTEL = 6154, SpvExecutionModeRegisterMapInterfaceINTEL = 6160, SpvExecutionModeNamedBarrierCountINTEL = 6417, @@ -1274,6 +1275,7 @@ typedef enum SpvCapability_ { SpvCapabilityDemoteToHelperInvocationEXT = 5379, SpvCapabilityDisplacementMicromapNV = 5380, SpvCapabilityRayTracingOpacityMicromapEXT = 5381, + SpvCapabilityRayTracingOpacityMicromapKHR = 5381, SpvCapabilityShaderInvocationReorderNV = 5383, SpvCapabilityShaderInvocationReorderEXT = 5388, SpvCapabilityBindlessTextureNV = 5390, @@ -1368,6 +1370,7 @@ typedef enum SpvCapability_ { SpvCapabilityGroupNonUniformRotateKHR = 6026, SpvCapabilityFloatControls2 = 6029, SpvCapabilityFMAKHR = 6030, + SpvCapabilityRayTracingOpacityMicromapExecutionModeKHR = 6032, SpvCapabilityAtomicFloat32AddEXT = 6033, SpvCapabilityAtomicFloat64AddEXT = 6034, SpvCapabilityLongCompositesINTEL = 6089, @@ -1428,6 +1431,7 @@ typedef enum SpvRayFlagsShift_ { SpvRayFlagsSkipTrianglesKHRShift = 8, SpvRayFlagsSkipAABBsKHRShift = 9, SpvRayFlagsForceOpacityMicromap2StateEXTShift = 10, + SpvRayFlagsForceOpacityMicromap2StateKHRShift = 10, SpvRayFlagsMax = 0x7fffffff, } SpvRayFlagsShift; @@ -1445,6 +1449,7 @@ typedef enum SpvRayFlagsMask_ { SpvRayFlagsSkipTrianglesKHRMask = 0x00000100, SpvRayFlagsSkipAABBsKHRMask = 0x00000200, SpvRayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400, + SpvRayFlagsForceOpacityMicromap2StateKHRMask = 0x00000400, } SpvRayFlagsMask; typedef enum SpvRayQueryIntersection_ { @@ -3696,6 +3701,7 @@ inline const char* SpvExecutionModeToString(SpvExecutionMode value) { case SpvExecutionModeSchedulerTargetFmaxMhzINTEL: return "SchedulerTargetFmaxMhzINTEL"; case SpvExecutionModeMaximallyReconvergesKHR: return "MaximallyReconvergesKHR"; case SpvExecutionModeFPFastMathDefault: return "FPFastMathDefault"; + case SpvExecutionModeOpacityMicromapIdKHR: return "OpacityMicromapIdKHR"; case SpvExecutionModeStreamingInterfaceINTEL: return "StreamingInterfaceINTEL"; case SpvExecutionModeRegisterMapInterfaceINTEL: return "RegisterMapInterfaceINTEL"; case SpvExecutionModeNamedBarrierCountINTEL: return "NamedBarrierCountINTEL"; @@ -4505,6 +4511,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) { case SpvCapabilityGroupNonUniformRotateKHR: return "GroupNonUniformRotateKHR"; case SpvCapabilityFloatControls2: return "FloatControls2"; case SpvCapabilityFMAKHR: return "FMAKHR"; + case SpvCapabilityRayTracingOpacityMicromapExecutionModeKHR: return "RayTracingOpacityMicromapExecutionModeKHR"; case SpvCapabilityAtomicFloat32AddEXT: return "AtomicFloat32AddEXT"; case SpvCapabilityAtomicFloat64AddEXT: return "AtomicFloat64AddEXT"; case SpvCapabilityLongCompositesINTEL: return "LongCompositesINTEL"; diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp index fd64eb7..d0a1606 100644 --- a/include/spirv/unified1/spirv.hpp +++ b/include/spirv/unified1/spirv.hpp @@ -205,6 +205,7 @@ enum ExecutionMode { ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903, ExecutionModeMaximallyReconvergesKHR = 6023, ExecutionModeFPFastMathDefault = 6028, + ExecutionModeOpacityMicromapIdKHR = 6031, ExecutionModeStreamingInterfaceINTEL = 6154, ExecutionModeRegisterMapInterfaceINTEL = 6160, ExecutionModeNamedBarrierCountINTEL = 6417, @@ -1270,6 +1271,7 @@ enum Capability { CapabilityDemoteToHelperInvocationEXT = 5379, CapabilityDisplacementMicromapNV = 5380, CapabilityRayTracingOpacityMicromapEXT = 5381, + CapabilityRayTracingOpacityMicromapKHR = 5381, CapabilityShaderInvocationReorderNV = 5383, CapabilityShaderInvocationReorderEXT = 5388, CapabilityBindlessTextureNV = 5390, @@ -1364,6 +1366,7 @@ enum Capability { CapabilityGroupNonUniformRotateKHR = 6026, CapabilityFloatControls2 = 6029, CapabilityFMAKHR = 6030, + CapabilityRayTracingOpacityMicromapExecutionModeKHR = 6032, CapabilityAtomicFloat32AddEXT = 6033, CapabilityAtomicFloat64AddEXT = 6034, CapabilityLongCompositesINTEL = 6089, @@ -1424,6 +1427,7 @@ enum RayFlagsShift { RayFlagsSkipTrianglesKHRShift = 8, RayFlagsSkipAABBsKHRShift = 9, RayFlagsForceOpacityMicromap2StateEXTShift = 10, + RayFlagsForceOpacityMicromap2StateKHRShift = 10, RayFlagsMax = 0x7fffffff, }; @@ -1441,6 +1445,7 @@ enum RayFlagsMask { RayFlagsSkipTrianglesKHRMask = 0x00000100, RayFlagsSkipAABBsKHRMask = 0x00000200, RayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400, + RayFlagsForceOpacityMicromap2StateKHRMask = 0x00000400, }; enum RayQueryIntersection { @@ -3692,6 +3697,7 @@ inline const char* ExecutionModeToString(ExecutionMode value) { case ExecutionModeSchedulerTargetFmaxMhzINTEL: return "SchedulerTargetFmaxMhzINTEL"; case ExecutionModeMaximallyReconvergesKHR: return "MaximallyReconvergesKHR"; case ExecutionModeFPFastMathDefault: return "FPFastMathDefault"; + case ExecutionModeOpacityMicromapIdKHR: return "OpacityMicromapIdKHR"; case ExecutionModeStreamingInterfaceINTEL: return "StreamingInterfaceINTEL"; case ExecutionModeRegisterMapInterfaceINTEL: return "RegisterMapInterfaceINTEL"; case ExecutionModeNamedBarrierCountINTEL: return "NamedBarrierCountINTEL"; @@ -4501,6 +4507,7 @@ inline const char* CapabilityToString(Capability value) { case CapabilityGroupNonUniformRotateKHR: return "GroupNonUniformRotateKHR"; case CapabilityFloatControls2: return "FloatControls2"; case CapabilityFMAKHR: return "FMAKHR"; + case CapabilityRayTracingOpacityMicromapExecutionModeKHR: return "RayTracingOpacityMicromapExecutionModeKHR"; case CapabilityAtomicFloat32AddEXT: return "AtomicFloat32AddEXT"; case CapabilityAtomicFloat64AddEXT: return "AtomicFloat64AddEXT"; case CapabilityLongCompositesINTEL: return "LongCompositesINTEL"; diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11 index 4e626c9..fb5d724 100644 --- a/include/spirv/unified1/spirv.hpp11 +++ b/include/spirv/unified1/spirv.hpp11 @@ -205,6 +205,7 @@ enum class ExecutionMode : unsigned { SchedulerTargetFmaxMhzINTEL = 5903, MaximallyReconvergesKHR = 6023, FPFastMathDefault = 6028, + OpacityMicromapIdKHR = 6031, StreamingInterfaceINTEL = 6154, RegisterMapInterfaceINTEL = 6160, NamedBarrierCountINTEL = 6417, @@ -1270,6 +1271,7 @@ enum class Capability : unsigned { DemoteToHelperInvocationEXT = 5379, DisplacementMicromapNV = 5380, RayTracingOpacityMicromapEXT = 5381, + RayTracingOpacityMicromapKHR = 5381, ShaderInvocationReorderNV = 5383, ShaderInvocationReorderEXT = 5388, BindlessTextureNV = 5390, @@ -1364,6 +1366,7 @@ enum class Capability : unsigned { GroupNonUniformRotateKHR = 6026, FloatControls2 = 6029, FMAKHR = 6030, + RayTracingOpacityMicromapExecutionModeKHR = 6032, AtomicFloat32AddEXT = 6033, AtomicFloat64AddEXT = 6034, LongCompositesINTEL = 6089, @@ -1424,6 +1427,7 @@ enum class RayFlagsShift : unsigned { SkipTrianglesKHR = 8, SkipAABBsKHR = 9, ForceOpacityMicromap2StateEXT = 10, + ForceOpacityMicromap2StateKHR = 10, Max = 0x7fffffff, }; @@ -1441,6 +1445,7 @@ enum class RayFlagsMask : unsigned { SkipTrianglesKHR = 0x00000100, SkipAABBsKHR = 0x00000200, ForceOpacityMicromap2StateEXT = 0x00000400, + ForceOpacityMicromap2StateKHR = 0x00000400, }; enum class RayQueryIntersection : unsigned { @@ -3692,6 +3697,7 @@ inline const char* ExecutionModeToString(ExecutionMode value) { case ExecutionMode::SchedulerTargetFmaxMhzINTEL: return "SchedulerTargetFmaxMhzINTEL"; case ExecutionMode::MaximallyReconvergesKHR: return "MaximallyReconvergesKHR"; case ExecutionMode::FPFastMathDefault: return "FPFastMathDefault"; + case ExecutionMode::OpacityMicromapIdKHR: return "OpacityMicromapIdKHR"; case ExecutionMode::StreamingInterfaceINTEL: return "StreamingInterfaceINTEL"; case ExecutionMode::RegisterMapInterfaceINTEL: return "RegisterMapInterfaceINTEL"; case ExecutionMode::NamedBarrierCountINTEL: return "NamedBarrierCountINTEL"; @@ -4501,6 +4507,7 @@ inline const char* CapabilityToString(Capability value) { case Capability::GroupNonUniformRotateKHR: return "GroupNonUniformRotateKHR"; case Capability::FloatControls2: return "FloatControls2"; case Capability::FMAKHR: return "FMAKHR"; + case Capability::RayTracingOpacityMicromapExecutionModeKHR: return "RayTracingOpacityMicromapExecutionModeKHR"; case Capability::AtomicFloat32AddEXT: return "AtomicFloat32AddEXT"; case Capability::AtomicFloat64AddEXT: return "AtomicFloat64AddEXT"; case Capability::LongCompositesINTEL: return "LongCompositesINTEL"; diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json index 135663c..af571b5 100644 --- a/include/spirv/unified1/spirv.json +++ b/include/spirv/unified1/spirv.json @@ -224,6 +224,7 @@ "SchedulerTargetFmaxMhzINTEL": 5903, "MaximallyReconvergesKHR": 6023, "FPFastMathDefault": 6028, + "OpacityMicromapIdKHR": 6031, "StreamingInterfaceINTEL": 6154, "RegisterMapInterfaceINTEL": 6160, "NamedBarrierCountINTEL": 6417, @@ -1236,6 +1237,7 @@ "DemoteToHelperInvocationEXT": 5379, "DisplacementMicromapNV": 5380, "RayTracingOpacityMicromapEXT": 5381, + "RayTracingOpacityMicromapKHR": 5381, "ShaderInvocationReorderNV": 5383, "ShaderInvocationReorderEXT": 5388, "BindlessTextureNV": 5390, @@ -1330,6 +1332,7 @@ "GroupNonUniformRotateKHR": 6026, "FloatControls2": 6029, "FMAKHR": 6030, + "RayTracingOpacityMicromapExecutionModeKHR": 6032, "AtomicFloat32AddEXT": 6033, "AtomicFloat64AddEXT": 6034, "LongCompositesINTEL": 6089, @@ -1392,7 +1395,8 @@ "SkipBuiltinPrimitivesNV": 8, "SkipTrianglesKHR": 8, "SkipAABBsKHR": 9, - "ForceOpacityMicromap2StateEXT": 10 + "ForceOpacityMicromap2StateEXT": 10, + "ForceOpacityMicromap2StateKHR": 10 } }, { diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua index 8cbe093..f3da312 100644 --- a/include/spirv/unified1/spirv.lua +++ b/include/spirv/unified1/spirv.lua @@ -196,6 +196,7 @@ spv = { SchedulerTargetFmaxMhzINTEL = 5903, MaximallyReconvergesKHR = 6023, FPFastMathDefault = 6028, + OpacityMicromapIdKHR = 6031, StreamingInterfaceINTEL = 6154, RegisterMapInterfaceINTEL = 6160, NamedBarrierCountINTEL = 6417, @@ -1261,6 +1262,7 @@ spv = { DemoteToHelperInvocationEXT = 5379, DisplacementMicromapNV = 5380, RayTracingOpacityMicromapEXT = 5381, + RayTracingOpacityMicromapKHR = 5381, ShaderInvocationReorderNV = 5383, ShaderInvocationReorderEXT = 5388, BindlessTextureNV = 5390, @@ -1355,6 +1357,7 @@ spv = { GroupNonUniformRotateKHR = 6026, FloatControls2 = 6029, FMAKHR = 6030, + RayTracingOpacityMicromapExecutionModeKHR = 6032, AtomicFloat32AddEXT = 6033, AtomicFloat64AddEXT = 6034, LongCompositesINTEL = 6089, @@ -1415,6 +1418,7 @@ spv = { SkipTrianglesKHR = 8, SkipAABBsKHR = 9, ForceOpacityMicromap2StateEXT = 10, + ForceOpacityMicromap2StateKHR = 10, Max = 0x7fffffff, }, @@ -1432,6 +1436,7 @@ spv = { SkipTrianglesKHR = 0x00000100, SkipAABBsKHR = 0x00000200, ForceOpacityMicromap2StateEXT = 0x00000400, + ForceOpacityMicromap2StateKHR = 0x00000400, }, RayQueryIntersection = { diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py index bb65ae9..88e5cbc 100644 --- a/include/spirv/unified1/spirv.py +++ b/include/spirv/unified1/spirv.py @@ -192,6 +192,7 @@ spv = { 'SchedulerTargetFmaxMhzINTEL' : 5903, 'MaximallyReconvergesKHR' : 6023, 'FPFastMathDefault' : 6028, + 'OpacityMicromapIdKHR' : 6031, 'StreamingInterfaceINTEL' : 6154, 'RegisterMapInterfaceINTEL' : 6160, 'NamedBarrierCountINTEL' : 6417, @@ -1232,6 +1233,7 @@ spv = { 'DemoteToHelperInvocationEXT' : 5379, 'DisplacementMicromapNV' : 5380, 'RayTracingOpacityMicromapEXT' : 5381, + 'RayTracingOpacityMicromapKHR' : 5381, 'ShaderInvocationReorderNV' : 5383, 'ShaderInvocationReorderEXT' : 5388, 'BindlessTextureNV' : 5390, @@ -1326,6 +1328,7 @@ spv = { 'GroupNonUniformRotateKHR' : 6026, 'FloatControls2' : 6029, 'FMAKHR' : 6030, + 'RayTracingOpacityMicromapExecutionModeKHR' : 6032, 'AtomicFloat32AddEXT' : 6033, 'AtomicFloat64AddEXT' : 6034, 'LongCompositesINTEL' : 6089, @@ -1385,6 +1388,7 @@ spv = { 'SkipTrianglesKHR' : 8, 'SkipAABBsKHR' : 9, 'ForceOpacityMicromap2StateEXT' : 10, + 'ForceOpacityMicromap2StateKHR' : 10, }, 'RayFlagsMask' : { @@ -1401,6 +1405,7 @@ spv = { 'SkipTrianglesKHR' : 0x00000100, 'SkipAABBsKHR' : 0x00000200, 'ForceOpacityMicromap2StateEXT' : 0x00000400, + 'ForceOpacityMicromap2StateKHR' : 0x00000400, }, 'RayQueryIntersection' : { diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d index 8d31fee..aab392c 100644 --- a/include/spirv/unified1/spv.d +++ b/include/spirv/unified1/spv.d @@ -208,6 +208,7 @@ enum ExecutionMode : uint SchedulerTargetFmaxMhzINTEL = 5903, MaximallyReconvergesKHR = 6023, FPFastMathDefault = 6028, + OpacityMicromapIdKHR = 6031, StreamingInterfaceINTEL = 6154, RegisterMapInterfaceINTEL = 6160, NamedBarrierCountINTEL = 6417, @@ -1306,6 +1307,7 @@ enum Capability : uint DemoteToHelperInvocationEXT = 5379, DisplacementMicromapNV = 5380, RayTracingOpacityMicromapEXT = 5381, + RayTracingOpacityMicromapKHR = 5381, ShaderInvocationReorderNV = 5383, ShaderInvocationReorderEXT = 5388, BindlessTextureNV = 5390, @@ -1400,6 +1402,7 @@ enum Capability : uint GroupNonUniformRotateKHR = 6026, FloatControls2 = 6029, FMAKHR = 6030, + RayTracingOpacityMicromapExecutionModeKHR = 6032, AtomicFloat32AddEXT = 6033, AtomicFloat64AddEXT = 6034, LongCompositesINTEL = 6089, @@ -1461,6 +1464,7 @@ enum RayFlagsShift : uint SkipTrianglesKHR = 8, SkipAABBsKHR = 9, ForceOpacityMicromap2StateEXT = 10, + ForceOpacityMicromap2StateKHR = 10, Max = 0x7fffffff, } @@ -1479,6 +1483,7 @@ enum RayFlagsMask : uint SkipTrianglesKHR = 0x00000100, SkipAABBsKHR = 0x00000200, ForceOpacityMicromap2StateEXT = 0x00000400, + ForceOpacityMicromap2StateKHR = 0x00000400, } enum RayQueryIntersection : uint -- 2.54.0