@@ -475,63 +475,62 @@ inline bool IsFeedbackTexture(DXIL::ResourceKind ResourceKind) {
475475// Enumeration for operations specified by DXIL
476476enum class OpCode : unsigned {
477477 //
478- AllocateRayQuery2 = 258 , // reserved
479- Reserved0 = 226 , // Reserved
480- Reserved1 = 227 , // Reserved
481- Reserved10 = 236 , // Reserved
482- Reserved11 = 237 , // Reserved
483- Reserved2 = 228 , // Reserved
484- Reserved3 = 229 , // Reserved
485- Reserved4 = 230 , // Reserved
486- Reserved5 = 231 , // Reserved
487- Reserved6 = 232 , // Reserved
488- Reserved7 = 233 , // Reserved
489- Reserved8 = 234 , // Reserved
490- Reserved9 = 235 , // Reserved
491- ReservedA0 = 259 , // reserved
492- ReservedA1 = 260 , // reserved
493- ReservedA2 = 261 , // reserved
494- ReservedB0 = 262 , // reserved
495- ReservedB1 = 263 , // reserved
496- ReservedB10 = 272 , // reserved
497- ReservedB11 = 273 , // reserved
498- ReservedB12 = 274 , // reserved
499- ReservedB13 = 275 , // reserved
500- ReservedB14 = 276 , // reserved
501- ReservedB15 = 277 , // reserved
502- ReservedB16 = 278 , // reserved
503- ReservedB17 = 279 , // reserved
504- ReservedB18 = 280 , // reserved
505- ReservedB19 = 281 , // reserved
506- ReservedB2 = 264 , // reserved
507- ReservedB20 = 282 , // reserved
508- ReservedB21 = 283 , // reserved
509- ReservedB22 = 284 , // reserved
510- ReservedB23 = 285 , // reserved
511- ReservedB24 = 286 , // reserved
512- ReservedB25 = 287 , // reserved
513- ReservedB26 = 288 , // reserved
514- ReservedB27 = 289 , // reserved
515- ReservedB28 = 290 , // reserved
516- ReservedB29 = 291 , // reserved
517- ReservedB3 = 265 , // reserved
518- ReservedB30 = 292 , // reserved
519- ReservedB4 = 266 , // reserved
520- ReservedB5 = 267 , // reserved
521- ReservedB6 = 268 , // reserved
522- ReservedB7 = 269 , // reserved
523- ReservedB8 = 270 , // reserved
524- ReservedB9 = 271 , // reserved
525- ReservedC0 = 293 , // reserved
526- ReservedC1 = 294 , // reserved
527- ReservedC2 = 295 , // reserved
528- ReservedC3 = 296 , // reserved
529- ReservedC4 = 297 , // reserved
530- ReservedC5 = 298 , // reserved
531- ReservedC6 = 299 , // reserved
532- ReservedC7 = 300 , // reserved
533- ReservedC8 = 301 , // reserved
534- ReservedC9 = 302 , // reserved
478+ Reserved0 = 226 , // Reserved
479+ Reserved1 = 227 , // Reserved
480+ Reserved10 = 236 , // Reserved
481+ Reserved11 = 237 , // Reserved
482+ Reserved2 = 228 , // Reserved
483+ Reserved3 = 229 , // Reserved
484+ Reserved4 = 230 , // Reserved
485+ Reserved5 = 231 , // Reserved
486+ Reserved6 = 232 , // Reserved
487+ Reserved7 = 233 , // Reserved
488+ Reserved8 = 234 , // Reserved
489+ Reserved9 = 235 , // Reserved
490+ ReservedA0 = 259 , // reserved
491+ ReservedA1 = 260 , // reserved
492+ ReservedA2 = 261 , // reserved
493+ ReservedB0 = 262 , // reserved
494+ ReservedB1 = 263 , // reserved
495+ ReservedB10 = 272 , // reserved
496+ ReservedB11 = 273 , // reserved
497+ ReservedB12 = 274 , // reserved
498+ ReservedB13 = 275 , // reserved
499+ ReservedB14 = 276 , // reserved
500+ ReservedB15 = 277 , // reserved
501+ ReservedB16 = 278 , // reserved
502+ ReservedB17 = 279 , // reserved
503+ ReservedB18 = 280 , // reserved
504+ ReservedB19 = 281 , // reserved
505+ ReservedB2 = 264 , // reserved
506+ ReservedB20 = 282 , // reserved
507+ ReservedB21 = 283 , // reserved
508+ ReservedB22 = 284 , // reserved
509+ ReservedB23 = 285 , // reserved
510+ ReservedB24 = 286 , // reserved
511+ ReservedB25 = 287 , // reserved
512+ ReservedB26 = 288 , // reserved
513+ ReservedB27 = 289 , // reserved
514+ ReservedB28 = 290 , // reserved
515+ ReservedB29 = 291 , // reserved
516+ ReservedB3 = 265 , // reserved
517+ ReservedB30 = 292 , // reserved
518+ ReservedB4 = 266 , // reserved
519+ ReservedB5 = 267 , // reserved
520+ ReservedB6 = 268 , // reserved
521+ ReservedB7 = 269 , // reserved
522+ ReservedB8 = 270 , // reserved
523+ ReservedB9 = 271 , // reserved
524+ ReservedC0 = 293 , // reserved
525+ ReservedC1 = 294 , // reserved
526+ ReservedC2 = 295 , // reserved
527+ ReservedC3 = 296 , // reserved
528+ ReservedC4 = 297 , // reserved
529+ ReservedC5 = 298 , // reserved
530+ ReservedC6 = 299 , // reserved
531+ ReservedC7 = 300 , // reserved
532+ ReservedC8 = 301 , // reserved
533+ ReservedC9 = 302 , // reserved
535534
536535 // Amplification shader instructions
537536 DispatchMesh = 173 , // Amplification shader intrinsic DispatchMesh
@@ -680,8 +679,9 @@ enum class OpCode : unsigned {
680679 TraceRay = 157 , // initiates raytrace
681680
682681 // Inline Ray Query
683- AllocateRayQuery = 178 , // allocates space for RayQuery and return handle
684- RayQuery_Abort = 181 , // aborts a ray query
682+ AllocateRayQuery = 178 , // allocates space for RayQuery and return handle
683+ AllocateRayQuery2 = 258 , // allocates space for RayQuery and return handle
684+ RayQuery_Abort = 181 , // aborts a ray query
685685 RayQuery_CandidateGeometryIndex = 203 , // returns candidate hit geometry index
686686 RayQuery_CandidateInstanceContributionToHitGroupIndex =
687687 214 , // returns candidate hit InstanceContributionToHitGroupIndex
@@ -1151,6 +1151,7 @@ enum class OpCodeClass : unsigned {
11511151
11521152 // Inline Ray Query
11531153 AllocateRayQuery,
1154+ AllocateRayQuery2,
11541155 RayQuery_Abort,
11551156 RayQuery_CommitNonOpaqueTriangleHit,
11561157 RayQuery_CommitProceduralPrimitiveHit,
@@ -1337,7 +1338,7 @@ enum class OpCodeClass : unsigned {
13371338 NumOpClasses_Dxil_1_7 = 153 ,
13381339 NumOpClasses_Dxil_1_8 = 174 ,
13391340
1340- NumOpClasses = 174 // exclusive last value of enumeration
1341+ NumOpClasses = 175 // exclusive last value of enumeration
13411342};
13421343// OPCODECLASS-ENUM:END
13431344
@@ -1819,8 +1820,12 @@ enum class RayFlag : uint32_t {
18191820 CullNonOpaque = 0x80 ,
18201821 SkipTriangles = 0x100 ,
18211822 SkipProceduralPrimitives = 0x200 ,
1823+ ForceOMM2State = 0x400 , // Force 2-state in Opacity Micromaps
18221824};
18231825
1826+ // Corresponds to RAYQUERY_FLAG_* in HLSL
1827+ enum class RayQueryFlag : uint32_t { None = 0 , AllowOpacityMicromaps = 1 };
1828+
18241829// Packing/unpacking intrinsics
18251830enum class UnpackMode : uint8_t {
18261831 Unsigned = 0 , // not sign extended
@@ -2002,7 +2007,9 @@ enum class RaytracingPipelineFlags : uint32_t {
20022007 None = 0x0 ,
20032008 SkipTriangles = 0x100 ,
20042009 SkipProceduralPrimitives = 0x200 ,
2005- ValidMask = 0x300 ,
2010+ ValidMask_1_8 = 0x300 , // valid mask up through DXIL 1.8
2011+ AllowOpacityMicromaps = 0x400 , // Allow Opacity Micromaps to be used
2012+ ValidMask = 0x700 , // current valid mask
20062013};
20072014
20082015enum class CommittedStatus : uint32_t {
0 commit comments