@@ -2303,16 +2303,16 @@ const OP::OpCodeProperty OP::m_OpCodeProps[(unsigned)OP::OpCode::NumOpCodes] = {
23032303 0 ,
23042304 {},
23052305 {}}, // Overloads: v
2306- {OC::ReservedB0,
2307- " ReservedB0" ,
2308- OCC::Reserved,
2309- " reserved" ,
2310- Attribute::None,
2311- 0 ,
2312- {},
2313- {}}, // Overloads: v
23142306
23152307 // Shader Execution Reordering
2308+ {OC::HitObject_TraceRay,
2309+ " HitObject_TraceRay" ,
2310+ OCC::HitObject_TraceRay,
2311+ " hitObject_TraceRay" ,
2312+ Attribute::None,
2313+ 1 ,
2314+ {{0x100 }},
2315+ {{0x0 }}}, // Overloads: u
23162316 {OC::HitObject_FromRayQuery,
23172317 " HitObject_FromRayQuery" ,
23182318 OCC::HitObject_FromRayQuery,
@@ -2345,15 +2345,15 @@ const OP::OpCodeProperty OP::m_OpCodeProps[(unsigned)OP::OpCode::NumOpCodes] = {
23452345 0 ,
23462346 {},
23472347 {}}, // Overloads: v
2348-
2349- {OC::ReservedB5,
2350- " ReservedB5" ,
2351- OCC::Reserved,
2352- " reserved" ,
2348+ {OC::HitObject_Invoke,
2349+ " HitObject_Invoke" ,
2350+ OCC::HitObject_Invoke,
2351+ " hitObject_Invoke" ,
23532352 Attribute::None,
2354- 0 ,
2355- {},
2356- {}}, // Overloads: v
2353+ 1 ,
2354+ {{0x100 }},
2355+ {{0x0 }}}, // Overloads: u
2356+
23572357 {OC::ReservedB6,
23582358 " ReservedB6" ,
23592359 OCC::Reserved,
@@ -3449,19 +3449,20 @@ void OP::GetMinShaderModelAndMask(OpCode C, bool bWithTranslation,
34493449 minor = 9 ;
34503450 return ;
34513451 }
3452- // Instructions: HitObject_FromRayQuery=263,
3452+ // Instructions: HitObject_TraceRay=262, HitObject_FromRayQuery=263,
34533453 // HitObject_FromRayQueryWithAttrs=264, HitObject_MakeMiss=265,
3454- // HitObject_MakeNop=266, HitObject_IsMiss=269, HitObject_IsHit=270,
3455- // HitObject_IsNop=271, HitObject_RayFlags=272, HitObject_RayTMin=273,
3456- // HitObject_RayTCurrent=274, HitObject_WorldRayOrigin=275,
3457- // HitObject_WorldRayDirection=276, HitObject_ObjectRayOrigin=277,
3458- // HitObject_ObjectRayDirection=278, HitObject_ObjectToWorld3x4=279,
3459- // HitObject_WorldToObject3x4=280, HitObject_GeometryIndex=281,
3460- // HitObject_InstanceIndex=282, HitObject_InstanceID=283,
3461- // HitObject_PrimitiveIndex=284, HitObject_HitKind=285,
3462- // HitObject_ShaderTableIndex=286, HitObject_SetShaderTableIndex=287,
3454+ // HitObject_MakeNop=266, HitObject_Invoke=267, HitObject_IsMiss=269,
3455+ // HitObject_IsHit=270, HitObject_IsNop=271, HitObject_RayFlags=272,
3456+ // HitObject_RayTMin=273, HitObject_RayTCurrent=274,
3457+ // HitObject_WorldRayOrigin=275, HitObject_WorldRayDirection=276,
3458+ // HitObject_ObjectRayOrigin=277, HitObject_ObjectRayDirection=278,
3459+ // HitObject_ObjectToWorld3x4=279, HitObject_WorldToObject3x4=280,
3460+ // HitObject_GeometryIndex=281, HitObject_InstanceIndex=282,
3461+ // HitObject_InstanceID=283, HitObject_PrimitiveIndex=284,
3462+ // HitObject_HitKind=285, HitObject_ShaderTableIndex=286,
3463+ // HitObject_SetShaderTableIndex=287,
34633464 // HitObject_LoadLocalRootTableConstant=288, HitObject_Attributes=289
3464- if ((263 <= op && op <= 266 ) || (269 <= op && op <= 289 )) {
3465+ if ((262 <= op && op <= 267 ) || (269 <= op && op <= 289 )) {
34653466 major = 6 ;
34663467 minor = 9 ;
34673468 mask =
@@ -5632,12 +5633,27 @@ Function *OP::GetOpFunc(OpCode opCode, Type *pOverloadType) {
56325633 A (pV);
56335634 A (pI32);
56345635 break ;
5635- case OpCode::ReservedB0:
5636- A (pV);
5637- A (pI32);
5638- break ;
56395636
56405637 // Shader Execution Reordering
5638+ case OpCode::HitObject_TraceRay:
5639+ A (pHit);
5640+ A (pI32);
5641+ A (pRes);
5642+ A (pI32);
5643+ A (pI32);
5644+ A (pI32);
5645+ A (pI32);
5646+ A (pI32);
5647+ A (pF32);
5648+ A (pF32);
5649+ A (pF32);
5650+ A (pF32);
5651+ A (pF32);
5652+ A (pF32);
5653+ A (pF32);
5654+ A (pF32);
5655+ A (udt);
5656+ break ;
56415657 case OpCode::HitObject_FromRayQuery:
56425658 A (pHit);
56435659 A (pI32);
@@ -5668,12 +5684,14 @@ Function *OP::GetOpFunc(OpCode opCode, Type *pOverloadType) {
56685684 A (pHit);
56695685 A (pI32);
56705686 break ;
5671-
5672- //
5673- case OpCode::ReservedB5:
5687+ case OpCode::HitObject_Invoke:
56745688 A (pV);
56755689 A (pI32);
5690+ A (pHit);
5691+ A (udt);
56765692 break ;
5693+
5694+ //
56775695 case OpCode::ReservedB6:
56785696 A (pV);
56795697 A (pI32);
@@ -6007,6 +6025,7 @@ llvm::Type *OP::GetOverloadType(OpCode opCode, llvm::Function *F) {
60076025 case OpCode::TempRegStore:
60086026 case OpCode::CallShader:
60096027 case OpCode::Pack4x8:
6028+ case OpCode::HitObject_Invoke:
60106029 case OpCode::HitObject_Attributes:
60116030 if (FT->getNumParams () <= 2 )
60126031 return nullptr ;
@@ -6048,6 +6067,7 @@ llvm::Type *OP::GetOverloadType(OpCode opCode, llvm::Function *F) {
60486067 return nullptr ;
60496068 return FT->getParamType (5 );
60506069 case OpCode::TraceRay:
6070+ case OpCode::HitObject_TraceRay:
60516071 if (FT->getNumParams () <= 15 )
60526072 return nullptr ;
60536073 return FT->getParamType (15 );
@@ -6135,11 +6155,9 @@ llvm::Type *OP::GetOverloadType(OpCode opCode, llvm::Function *F) {
61356155 case OpCode::ReservedA0:
61366156 case OpCode::ReservedA1:
61376157 case OpCode::ReservedA2:
6138- case OpCode::ReservedB0:
61396158 case OpCode::HitObject_FromRayQuery:
61406159 case OpCode::HitObject_MakeMiss:
61416160 case OpCode::HitObject_MakeNop:
6142- case OpCode::ReservedB5:
61436161 case OpCode::ReservedB6:
61446162 case OpCode::HitObject_SetShaderTableIndex:
61456163 case OpCode::HitObject_LoadLocalRootTableConstant:
0 commit comments