@@ -502,33 +502,10 @@ enum class OpCode : unsigned {
502502 ReservedA0 = 259 , // reserved
503503 ReservedA1 = 260 , // reserved
504504 ReservedA2 = 261 , // reserved
505- ReservedB1 = 263 , // reserved
506- ReservedB10 = 272 , // reserved
507- ReservedB11 = 273 , // reserved
508- ReservedB12 = 274 , // reserved
509- ReservedB13 = 275 , // reserved
510- ReservedB14 = 276 , // reserved
511- ReservedB15 = 277 , // reserved
512- ReservedB16 = 278 , // reserved
513- ReservedB17 = 279 , // reserved
514- ReservedB18 = 280 , // reserved
515- ReservedB19 = 281 , // reserved
516- ReservedB2 = 264 , // reserved
517- ReservedB20 = 282 , // reserved
518- ReservedB21 = 283 , // reserved
519- ReservedB22 = 284 , // reserved
520- ReservedB23 = 285 , // reserved
521- ReservedB24 = 286 , // reserved
522- ReservedB25 = 287 , // reserved
523- ReservedB26 = 288 , // reserved
524- ReservedB27 = 289 , // reserved
525505 ReservedB28 = 290 , // reserved
526506 ReservedB29 = 291 , // reserved
527507 ReservedB30 = 292 , // reserved
528508 ReservedB6 = 268 , // reserved
529- ReservedB7 = 269 , // reserved
530- ReservedB8 = 270 , // reserved
531- ReservedB9 = 271 , // reserved
532509 ReservedC0 = 293 , // reserved
533510 ReservedC1 = 294 , // reserved
534511 ReservedC2 = 295 , // reserved
@@ -914,12 +891,46 @@ enum class OpCode : unsigned {
914891 // operation with a mipmap-level offset
915892
916893 // Shader Execution Reordering
917- HitObject_Invoke = 267 , // Represents the invocation of the CH/MS shader
918- // represented by the HitObject
894+ HitObject_Attributes = 289 , // Returns the attributes set for this HitObject
895+ HitObject_FromRayQuery = 263 , // Creates a new HitObject representing a
896+ // committed hit from a RayQuery
897+ HitObject_FromRayQueryWithAttrs =
898+ 264 , // Creates a new HitObject representing a committed hit from a
899+ // RayQuery and committed attributes
900+ HitObject_GeometryIndex = 281 , // Returns the geometry index committed on hit
901+ HitObject_HitKind = 285 , // Returns the HitKind of the hit
902+ HitObject_InstanceID = 283 , // Returns the instance id committed on hit
903+ HitObject_InstanceIndex = 282 , // Returns the instance index committed on hit
904+ HitObject_Invoke = 267 , // Represents the invocation of the CH/MS shader
905+ // represented by the HitObject
906+ HitObject_IsHit = 270 , // Returns `true` if the HitObject is a NOP-HitObject
907+ HitObject_IsMiss = 269 , // Returns `true` if the HitObject represents a miss
908+ HitObject_IsNop = 271 , // Returns `true` if the HitObject represents a nop
909+ HitObject_LoadLocalRootTableConstant =
910+ 288 , // Returns the root table constant for this HitObject and offset
919911 HitObject_MakeMiss = 265 , // Creates a new HitObject representing a miss
920912 HitObject_MakeNop = 266 , // Creates an empty nop HitObject
913+ HitObject_ObjectRayDirection =
914+ 278 , // Returns the ray direction in object space
915+ HitObject_ObjectRayOrigin = 277 , // Returns the ray origin in object space
916+ HitObject_ObjectToWorld3x4 = 279 , // Returns the object to world space
917+ // transformation matrix in 3x4 form
918+ HitObject_PrimitiveIndex =
919+ 284 , // Returns the primitive index committed on hit
920+ HitObject_RayFlags = 272 , // Returns the ray flags set in the HitObject
921+ HitObject_RayTCurrent =
922+ 274 , // Returns the current T value set in the HitObject
923+ HitObject_RayTMin = 273 , // Returns the TMin value set in the HitObject
924+ HitObject_SetShaderTableIndex =
925+ 287 , // Returns a HitObject with updated shader table index
926+ HitObject_ShaderTableIndex =
927+ 286 , // Returns the shader table index set for this HitObject
921928 HitObject_TraceRay = 262 , // Analogous to TraceRay but without invoking CH/MS
922929 // and returns the intermediate state as a HitObject
930+ HitObject_WorldRayDirection = 276 , // Returns the ray direction in world space
931+ HitObject_WorldRayOrigin = 275 , // Returns the ray origin in world space
932+ HitObject_WorldToObject3x4 = 280 , // Returns the world to object space
933+ // transformation matrix in 3x4 form
923934
924935 // Synchronization
925936 AtomicBinOp = 78 , // performs an atomic operation on two operands
@@ -1296,9 +1307,17 @@ enum class OpCodeClass : unsigned {
12961307 WriteSamplerFeedbackLevel,
12971308
12981309 // Shader Execution Reordering
1310+ HitObject_Attributes,
1311+ HitObject_FromRayQuery,
1312+ HitObject_FromRayQueryWithAttrs,
12991313 HitObject_Invoke,
1314+ HitObject_LoadLocalRootTableConstant,
13001315 HitObject_MakeMiss,
13011316 HitObject_MakeNop,
1317+ HitObject_SetShaderTableIndex,
1318+ HitObject_StateMatrix,
1319+ HitObject_StateScalar,
1320+ HitObject_StateVector,
13021321 HitObject_TraceRay,
13031322
13041323 // Synchronization
@@ -1365,7 +1384,7 @@ enum class OpCodeClass : unsigned {
13651384 NumOpClasses_Dxil_1_7 = 153 ,
13661385 NumOpClasses_Dxil_1_8 = 174 ,
13671386
1368- NumOpClasses = 181 // exclusive last value of enumeration
1387+ NumOpClasses = 189 // exclusive last value of enumeration
13691388};
13701389// OPCODECLASS-ENUM:END
13711390
@@ -1909,7 +1928,9 @@ enum class BarrierSemanticFlag : uint32_t {
19091928 GroupSync = 0x00000001 , // GROUP_SYNC
19101929 GroupScope = 0x00000002 , // GROUP_SCOPE
19111930 DeviceScope = 0x00000004 , // DEVICE_SCOPE
1912- ValidMask = 0x00000007 ,
1931+ LegacyFlags = 0x00000007 ,
1932+ ReorderScope = 0x00000008 , // REORDER_SCOPE
1933+ ValidMask = 0x0000000F ,
19131934 GroupFlags = GroupSync | GroupScope,
19141935};
19151936
0 commit comments