@@ -510,35 +510,9 @@ enum class OpCode : unsigned {
510
510
ReservedA0 = 259 , // reserved
511
511
ReservedA1 = 260 , // reserved
512
512
ReservedA2 = 261 , // reserved
513
- ReservedB0 = 262 , // reserved
514
- ReservedB1 = 263 , // reserved
515
- ReservedB10 = 272 , // reserved
516
- ReservedB11 = 273 , // reserved
517
- ReservedB12 = 274 , // reserved
518
- ReservedB13 = 275 , // reserved
519
- ReservedB14 = 276 , // reserved
520
- ReservedB15 = 277 , // reserved
521
- ReservedB16 = 278 , // reserved
522
- ReservedB17 = 279 , // reserved
523
- ReservedB18 = 280 , // reserved
524
- ReservedB19 = 281 , // reserved
525
- ReservedB2 = 264 , // reserved
526
- ReservedB20 = 282 , // reserved
527
- ReservedB21 = 283 , // reserved
528
- ReservedB22 = 284 , // reserved
529
- ReservedB23 = 285 , // reserved
530
- ReservedB24 = 286 , // reserved
531
- ReservedB25 = 287 , // reserved
532
- ReservedB26 = 288 , // reserved
533
- ReservedB27 = 289 , // reserved
534
513
ReservedB28 = 290 , // reserved
535
514
ReservedB29 = 291 , // reserved
536
515
ReservedB30 = 292 , // reserved
537
- ReservedB5 = 267 , // reserved
538
- ReservedB6 = 268 , // reserved
539
- ReservedB7 = 269 , // reserved
540
- ReservedB8 = 270 , // reserved
541
- ReservedB9 = 271 , // reserved
542
516
ReservedC0 = 293 , // reserved
543
517
ReservedC1 = 294 , // reserved
544
518
ReservedC2 = 295 , // reserved
@@ -937,8 +911,47 @@ enum class OpCode : unsigned {
937
911
// operation with a mipmap-level offset
938
912
939
913
// Shader Execution Reordering
914
+ HitObject_Attributes = 289 , // Returns the attributes set for this HitObject
915
+ HitObject_FromRayQuery = 263 , // Creates a new HitObject representing a
916
+ // committed hit from a RayQuery
917
+ HitObject_FromRayQueryWithAttrs =
918
+ 264 , // Creates a new HitObject representing a committed hit from a
919
+ // RayQuery and committed attributes
920
+ HitObject_GeometryIndex = 281 , // Returns the geometry index committed on hit
921
+ HitObject_HitKind = 285 , // Returns the HitKind of the hit
922
+ HitObject_InstanceID = 283 , // Returns the instance id committed on hit
923
+ HitObject_InstanceIndex = 282 , // Returns the instance index committed on hit
924
+ HitObject_Invoke = 267 , // Represents the invocation of the CH/MS shader
925
+ // represented by the HitObject
926
+ HitObject_IsHit = 270 , // Returns `true` if the HitObject is a NOP-HitObject
927
+ HitObject_IsMiss = 269 , // Returns `true` if the HitObject represents a miss
928
+ HitObject_IsNop = 271 , // Returns `true` if the HitObject represents a nop
929
+ HitObject_LoadLocalRootTableConstant =
930
+ 288 , // Returns the root table constant for this HitObject and offset
940
931
HitObject_MakeMiss = 265 , // Creates a new HitObject representing a miss
941
932
HitObject_MakeNop = 266 , // Creates an empty nop HitObject
933
+ HitObject_ObjectRayDirection =
934
+ 278 , // Returns the ray direction in object space
935
+ HitObject_ObjectRayOrigin = 277 , // Returns the ray origin in object space
936
+ HitObject_ObjectToWorld3x4 = 279 , // Returns the object to world space
937
+ // transformation matrix in 3x4 form
938
+ HitObject_PrimitiveIndex =
939
+ 284 , // Returns the primitive index committed on hit
940
+ HitObject_RayFlags = 272 , // Returns the ray flags set in the HitObject
941
+ HitObject_RayTCurrent =
942
+ 274 , // Returns the current T value set in the HitObject
943
+ HitObject_RayTMin = 273 , // Returns the TMin value set in the HitObject
944
+ HitObject_SetShaderTableIndex =
945
+ 287 , // Returns a HitObject with updated shader table index
946
+ HitObject_ShaderTableIndex =
947
+ 286 , // Returns the shader table index set for this HitObject
948
+ HitObject_TraceRay = 262 , // Analogous to TraceRay but without invoking CH/MS
949
+ // and returns the intermediate state as a HitObject
950
+ HitObject_WorldRayDirection = 276 , // Returns the ray direction in world space
951
+ HitObject_WorldRayOrigin = 275 , // Returns the ray origin in world space
952
+ HitObject_WorldToObject3x4 = 280 , // Returns the world to object space
953
+ // transformation matrix in 3x4 form
954
+ MaybeReorderThread = 268 , // Reorders the current thread
942
955
943
956
// Synchronization
944
957
AtomicBinOp = 78 , // performs an atomic operation on two operands
@@ -1321,8 +1334,19 @@ enum class OpCodeClass : unsigned {
1321
1334
WriteSamplerFeedbackLevel,
1322
1335
1323
1336
// Shader Execution Reordering
1337
+ HitObject_Attributes,
1338
+ HitObject_FromRayQuery,
1339
+ HitObject_FromRayQueryWithAttrs,
1340
+ HitObject_Invoke,
1341
+ HitObject_LoadLocalRootTableConstant,
1324
1342
HitObject_MakeMiss,
1325
1343
HitObject_MakeNop,
1344
+ HitObject_SetShaderTableIndex,
1345
+ HitObject_StateMatrix,
1346
+ HitObject_StateScalar,
1347
+ HitObject_StateVector,
1348
+ HitObject_TraceRay,
1349
+ MaybeReorderThread,
1326
1350
1327
1351
// Synchronization
1328
1352
AtomicBinOp,
@@ -1388,7 +1412,7 @@ enum class OpCodeClass : unsigned {
1388
1412
NumOpClasses_Dxil_1_7 = 153 ,
1389
1413
NumOpClasses_Dxil_1_8 = 174 ,
1390
1414
1391
- NumOpClasses = 183 // exclusive last value of enumeration
1415
+ NumOpClasses = 194 // exclusive last value of enumeration
1392
1416
};
1393
1417
// OPCODECLASS-ENUM:END
1394
1418
@@ -1954,7 +1978,9 @@ enum class BarrierSemanticFlag : uint32_t {
1954
1978
GroupSync = 0x00000001 , // GROUP_SYNC
1955
1979
GroupScope = 0x00000002 , // GROUP_SCOPE
1956
1980
DeviceScope = 0x00000004 , // DEVICE_SCOPE
1957
- ValidMask = 0x00000007 ,
1981
+ LegacyFlags = 0x00000007 ,
1982
+ ReorderScope = 0x00000008 , // REORDER_SCOPE
1983
+ ValidMask = 0x0000000F ,
1958
1984
GroupFlags = GroupSync | GroupScope,
1959
1985
};
1960
1986
0 commit comments