@@ -502,35 +502,9 @@ enum class OpCode : unsigned {
502502 ReservedA0 = 259 , // reserved
503503 ReservedA1 = 260 , // reserved
504504 ReservedA2 = 261 , // reserved
505- ReservedB0 = 262 , // reserved
506- ReservedB1 = 263 , // reserved
507- ReservedB10 = 272 , // reserved
508- ReservedB11 = 273 , // reserved
509- ReservedB12 = 274 , // reserved
510- ReservedB13 = 275 , // reserved
511- ReservedB14 = 276 , // reserved
512- ReservedB15 = 277 , // reserved
513- ReservedB16 = 278 , // reserved
514- ReservedB17 = 279 , // reserved
515- ReservedB18 = 280 , // reserved
516- ReservedB19 = 281 , // reserved
517- ReservedB2 = 264 , // reserved
518- ReservedB20 = 282 , // reserved
519- ReservedB21 = 283 , // reserved
520- ReservedB22 = 284 , // reserved
521- ReservedB23 = 285 , // reserved
522- ReservedB24 = 286 , // reserved
523- ReservedB25 = 287 , // reserved
524- ReservedB26 = 288 , // reserved
525- ReservedB27 = 289 , // reserved
526505 ReservedB28 = 290 , // reserved
527506 ReservedB29 = 291 , // reserved
528507 ReservedB30 = 292 , // reserved
529- ReservedB5 = 267 , // reserved
530- ReservedB6 = 268 , // reserved
531- ReservedB7 = 269 , // reserved
532- ReservedB8 = 270 , // reserved
533- ReservedB9 = 271 , // reserved
534508 ReservedC0 = 293 , // reserved
535509 ReservedC1 = 294 , // reserved
536510 ReservedC2 = 295 , // reserved
@@ -916,8 +890,47 @@ enum class OpCode : unsigned {
916890 // operation with a mipmap-level offset
917891
918892 // Shader Execution Reordering
893+ HitObject_Attributes = 289 , // Returns the attributes set for this HitObject
894+ HitObject_FromRayQuery = 263 , // Creates a new HitObject representing a
895+ // committed hit from a RayQuery
896+ HitObject_FromRayQueryWithAttrs =
897+ 264 , // Creates a new HitObject representing a committed hit from a
898+ // RayQuery and committed attributes
899+ HitObject_GeometryIndex = 281 , // Returns the geometry index committed on hit
900+ HitObject_HitKind = 285 , // Returns the HitKind of the hit
901+ HitObject_InstanceID = 283 , // Returns the instance id committed on hit
902+ HitObject_InstanceIndex = 282 , // Returns the instance index committed on hit
903+ HitObject_Invoke = 267 , // Represents the invocation of the CH/MS shader
904+ // represented by the HitObject
905+ HitObject_IsHit = 270 , // Returns `true` if the HitObject is a NOP-HitObject
906+ HitObject_IsMiss = 269 , // Returns `true` if the HitObject represents a miss
907+ HitObject_IsNop = 271 , // Returns `true` if the HitObject represents a nop
908+ HitObject_LoadLocalRootTableConstant =
909+ 288 , // Returns the root table constant for this HitObject and offset
919910 HitObject_MakeMiss = 265 , // Creates a new HitObject representing a miss
920911 HitObject_MakeNop = 266 , // Creates an empty nop HitObject
912+ HitObject_ObjectRayDirection =
913+ 278 , // Returns the ray direction in object space
914+ HitObject_ObjectRayOrigin = 277 , // Returns the ray origin in object space
915+ HitObject_ObjectToWorld3x4 = 279 , // Returns the object to world space
916+ // transformation matrix in 3x4 form
917+ HitObject_PrimitiveIndex =
918+ 284 , // Returns the primitive index committed on hit
919+ HitObject_RayFlags = 272 , // Returns the ray flags set in the HitObject
920+ HitObject_RayTCurrent =
921+ 274 , // Returns the current T value set in the HitObject
922+ HitObject_RayTMin = 273 , // Returns the TMin value set in the HitObject
923+ HitObject_SetShaderTableIndex =
924+ 287 , // Returns a HitObject with updated shader table index
925+ HitObject_ShaderTableIndex =
926+ 286 , // Returns the shader table index set for this HitObject
927+ HitObject_TraceRay = 262 , // Analogous to TraceRay but without invoking CH/MS
928+ // and returns the intermediate state as a HitObject
929+ HitObject_WorldRayDirection = 276 , // Returns the ray direction in world space
930+ HitObject_WorldRayOrigin = 275 , // Returns the ray origin in world space
931+ HitObject_WorldToObject3x4 = 280 , // Returns the world to object space
932+ // transformation matrix in 3x4 form
933+ MaybeReorderThread = 268 , // Reorders the current thread
921934
922935 // Synchronization
923936 AtomicBinOp = 78 , // performs an atomic operation on two operands
@@ -1294,8 +1307,19 @@ enum class OpCodeClass : unsigned {
12941307 WriteSamplerFeedbackLevel,
12951308
12961309 // Shader Execution Reordering
1310+ HitObject_Attributes,
1311+ HitObject_FromRayQuery,
1312+ HitObject_FromRayQueryWithAttrs,
1313+ HitObject_Invoke,
1314+ HitObject_LoadLocalRootTableConstant,
12971315 HitObject_MakeMiss,
12981316 HitObject_MakeNop,
1317+ HitObject_SetShaderTableIndex,
1318+ HitObject_StateMatrix,
1319+ HitObject_StateScalar,
1320+ HitObject_StateVector,
1321+ HitObject_TraceRay,
1322+ MaybeReorderThread,
12991323
13001324 // Synchronization
13011325 AtomicBinOp,
@@ -1361,7 +1385,7 @@ enum class OpCodeClass : unsigned {
13611385 NumOpClasses_Dxil_1_7 = 153 ,
13621386 NumOpClasses_Dxil_1_8 = 174 ,
13631387
1364- NumOpClasses = 179 // exclusive last value of enumeration
1388+ NumOpClasses = 190 // exclusive last value of enumeration
13651389};
13661390// OPCODECLASS-ENUM:END
13671391
@@ -1905,7 +1929,9 @@ enum class BarrierSemanticFlag : uint32_t {
19051929 GroupSync = 0x00000001 , // GROUP_SYNC
19061930 GroupScope = 0x00000002 , // GROUP_SCOPE
19071931 DeviceScope = 0x00000004 , // DEVICE_SCOPE
1908- ValidMask = 0x00000007 ,
1932+ LegacyFlags = 0x00000007 ,
1933+ ReorderScope = 0x00000008 , // REORDER_SCOPE
1934+ ValidMask = 0x0000000F ,
19091935 GroupFlags = GroupSync | GroupScope,
19101936};
19111937
0 commit comments