Skip to content

Commit 350735b

Browse files
committed
Merge remote-tracking branch 'ms/main' into ser_hlslmake_patch
2 parents 47056ff + 10bff13 commit 350735b

14 files changed

Lines changed: 746 additions & 356 deletions

File tree

CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -762,9 +762,7 @@ if (LLVM_INCLUDE_DOCS)
762762
add_subdirectory(docs)
763763
endif()
764764

765-
if (LLVM_BUILD_DOCS)
766-
add_hlsl_hctgen(DxilDocs OUTPUT docs/DXIL.rst CODE_TAG) # HLSL Change
767-
endif()
765+
add_hlsl_hctgen(DxilDocs OUTPUT docs/DXIL.rst CODE_TAG) # HLSL Change
768766

769767
add_subdirectory(cmake/modules)
770768

docs/DXIL.rst

Lines changed: 379 additions & 319 deletions
Large diffs are not rendered by default.

include/dxc/HlslIntrinsicOp.h

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -336,8 +336,34 @@ enum class IntrinsicOp {
336336
MOP_TraceRayInline = 325,
337337
MOP_WorldRayDirection = 326,
338338
MOP_WorldRayOrigin = 327,
339-
MOP_DxHitObject_MakeMiss = 363,
339+
MOP_DxHitObject_FromRayQuery = 363,
340+
MOP_DxHitObject_GetAttributes = 364,
341+
MOP_DxHitObject_GetGeometryIndex = 365,
342+
MOP_DxHitObject_GetHitKind = 366,
343+
MOP_DxHitObject_GetInstanceID = 367,
344+
MOP_DxHitObject_GetInstanceIndex = 368,
345+
MOP_DxHitObject_GetObjectRayDirection = 369,
346+
MOP_DxHitObject_GetObjectRayOrigin = 370,
347+
MOP_DxHitObject_GetObjectToWorld3x4 = 371,
348+
MOP_DxHitObject_GetObjectToWorld4x3 = 372,
349+
MOP_DxHitObject_GetPrimitiveIndex = 373,
350+
MOP_DxHitObject_GetRayFlags = 374,
351+
MOP_DxHitObject_GetRayTCurrent = 375,
352+
MOP_DxHitObject_GetRayTMin = 376,
353+
MOP_DxHitObject_GetShaderTableIndex = 377,
354+
MOP_DxHitObject_GetWorldRayDirection = 378,
355+
MOP_DxHitObject_GetWorldRayOrigin = 379,
356+
MOP_DxHitObject_GetWorldToObject3x4 = 380,
357+
MOP_DxHitObject_GetWorldToObject4x3 = 381,
358+
MOP_DxHitObject_Invoke = 382,
359+
MOP_DxHitObject_IsHit = 383,
360+
MOP_DxHitObject_IsMiss = 384,
361+
MOP_DxHitObject_IsNop = 385,
362+
MOP_DxHitObject_LoadLocalRootTableConstant = 386,
363+
MOP_DxHitObject_MakeMiss = 387,
340364
MOP_DxHitObject_MakeNop = 358,
365+
MOP_DxHitObject_SetShaderTableIndex = 388,
366+
MOP_DxHitObject_TraceRay = 389,
341367
IOP_DxMaybeReorderThread = 359,
342368
MOP_Count = 328,
343369
MOP_FinishedCrossGroupSharing = 329,
@@ -370,7 +396,7 @@ enum class IntrinsicOp {
370396
IOP_usign = 355,
371397
MOP_InterlockedUMax = 356,
372398
MOP_InterlockedUMin = 357,
373-
Num_Intrinsics = 364,
399+
Num_Intrinsics = 390,
374400
};
375401
inline bool HasUnsignedIntrinsicOpcode(IntrinsicOp opcode) {
376402
switch (opcode) {

include/dxc/dxcapi.internal.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,12 +131,13 @@ enum LEGAL_INTRINSIC_COMPTYPES {
131131
LICOMPTYPE_THREAD_NODE_OUTPUT_RECORDS = 50,
132132

133133
LICOMPTYPE_HIT_OBJECT = 51,
134+
LICOMPTYPE_RAY_QUERY = 52,
134135

135136
#ifdef ENABLE_SPIRV_CODEGEN
136-
LICOMPTYPE_VK_BUFFER_POINTER = 52,
137-
LICOMPTYPE_COUNT = 53
137+
LICOMPTYPE_VK_BUFFER_POINTER = 53,
138+
LICOMPTYPE_COUNT = 54
138139
#else
139-
LICOMPTYPE_COUNT = 52
140+
LICOMPTYPE_COUNT = 53
140141
#endif
141142
};
142143

lib/HLSL/HLOperationLower.cpp

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6293,6 +6293,77 @@ Value *TranslateMaybeReorderThread(CallInst *CI, IntrinsicOp IOP,
62936293
Type::getVoidTy(CI->getContext()), CI, OP);
62946294
return nullptr;
62956295
}
6296+
6297+
Value *TranslateHitObjectFromRayQuery(CallInst *CI, IntrinsicOp IOP,
6298+
OP::OpCode OpCode,
6299+
HLOperationLowerHelper &Helper,
6300+
HLObjectOperationLowerHelper *pObjHelper,
6301+
bool &Translated) {
6302+
return UndefValue::get(CI->getType()); // TODO: Merge SER DXIL patches
6303+
}
6304+
6305+
Value *TranslateHitObjectTraceRay(CallInst *CI, IntrinsicOp IOP,
6306+
OP::OpCode OpCode,
6307+
HLOperationLowerHelper &Helper,
6308+
HLObjectOperationLowerHelper *pObjHelper,
6309+
bool &Translated) {
6310+
return UndefValue::get(CI->getType()); // TODO: Merge SER DXIL patches
6311+
}
6312+
6313+
Value *TranslateHitObjectInvoke(CallInst *CI, IntrinsicOp IOP,
6314+
OP::OpCode OpCode,
6315+
HLOperationLowerHelper &Helper,
6316+
HLObjectOperationLowerHelper *pObjHelper,
6317+
bool &Translated) {
6318+
return nullptr; // TODO: Merge SER DXIL patches
6319+
}
6320+
6321+
Value *TranslateHitObjectGetAttributes(CallInst *CI, IntrinsicOp IOP,
6322+
OP::OpCode OpCode,
6323+
HLOperationLowerHelper &Helper,
6324+
HLObjectOperationLowerHelper *pObjHelper,
6325+
bool &Translated) {
6326+
return UndefValue::get(CI->getType()); // TODO: Merge SER DXIL patches
6327+
}
6328+
6329+
Value *TranslateHitObjectScalarGetter(CallInst *CI, IntrinsicOp IOP,
6330+
OP::OpCode OpCode,
6331+
HLOperationLowerHelper &Helper,
6332+
HLObjectOperationLowerHelper *pObjHelper,
6333+
bool &Translated) {
6334+
return UndefValue::get(CI->getType()); // TODO: Merge SER DXIL patches
6335+
}
6336+
6337+
Value *TranslateHitObjectVectorGetter(CallInst *CI, IntrinsicOp IOP,
6338+
OP::OpCode OpCode,
6339+
HLOperationLowerHelper &Helper,
6340+
HLObjectOperationLowerHelper *pObjHelper,
6341+
bool &Translated) {
6342+
return UndefValue::get(CI->getType()); // TODO: Merge SER DXIL patches
6343+
}
6344+
6345+
Value *TranslateHitObjectMatrixGetter(CallInst *CI, IntrinsicOp IOP,
6346+
OP::OpCode OpCode,
6347+
HLOperationLowerHelper &Helper,
6348+
HLObjectOperationLowerHelper *pObjHelper,
6349+
bool &Translated) {
6350+
return UndefValue::get(CI->getType()); // TODO: Merge SER DXIL patches
6351+
}
6352+
6353+
Value *TranslateHitObjectLoadLocalRootTableConstant(
6354+
CallInst *CI, IntrinsicOp IOP, OP::OpCode OpCode,
6355+
HLOperationLowerHelper &Helper, HLObjectOperationLowerHelper *pObjHelper,
6356+
bool &Translated) {
6357+
return UndefValue::get(CI->getType()); // TODO: Merge SER DXIL patches
6358+
}
6359+
6360+
Value *TranslateHitObjectSetShaderTableIndex(
6361+
CallInst *CI, IntrinsicOp IOP, OP::OpCode OpCode,
6362+
HLOperationLowerHelper &Helper, HLObjectOperationLowerHelper *pObjHelper,
6363+
bool &Translated) {
6364+
return UndefValue::get(CI->getType()); // TODO: Merge SER DXIL patches
6365+
}
6366+
62966367
} // namespace
62976368

62986369
// Resource Handle.
@@ -7002,8 +7073,63 @@ IntrinsicLower gLowerTable[] = {
70027073
DXIL::OpCode::NumOpCodes},
70037074
{IntrinsicOp::MOP_GetBufferContents, UnsupportedVulkanIntrinsic,
70047075
DXIL::OpCode::NumOpCodes},
7076+
{IntrinsicOp::MOP_DxHitObject_FromRayQuery, TranslateHitObjectFromRayQuery,
7077+
DXIL::OpCode::HitObject_FromRayQuery},
7078+
{IntrinsicOp::MOP_DxHitObject_GetAttributes,
7079+
TranslateHitObjectGetAttributes, DXIL::OpCode::HitObject_Attributes},
7080+
{IntrinsicOp::MOP_DxHitObject_GetGeometryIndex,
7081+
TranslateHitObjectScalarGetter, DXIL::OpCode::HitObject_GeometryIndex},
7082+
{IntrinsicOp::MOP_DxHitObject_GetHitKind, TranslateHitObjectScalarGetter,
7083+
DXIL::OpCode::HitObject_HitKind},
7084+
{IntrinsicOp::MOP_DxHitObject_GetInstanceID, TranslateHitObjectScalarGetter,
7085+
DXIL::OpCode::HitObject_InstanceID},
7086+
{IntrinsicOp::MOP_DxHitObject_GetInstanceIndex,
7087+
TranslateHitObjectScalarGetter, DXIL::OpCode::HitObject_InstanceIndex},
7088+
{IntrinsicOp::MOP_DxHitObject_GetObjectRayDirection,
7089+
TranslateHitObjectVectorGetter,
7090+
DXIL::OpCode::HitObject_ObjectRayDirection},
7091+
{IntrinsicOp::MOP_DxHitObject_GetObjectRayOrigin,
7092+
TranslateHitObjectVectorGetter, DXIL::OpCode::HitObject_ObjectRayOrigin},
7093+
{IntrinsicOp::MOP_DxHitObject_GetObjectToWorld3x4,
7094+
TranslateHitObjectMatrixGetter, DXIL::OpCode::HitObject_ObjectToWorld3x4},
7095+
{IntrinsicOp::MOP_DxHitObject_GetObjectToWorld4x3,
7096+
TranslateHitObjectMatrixGetter, DXIL::OpCode::HitObject_ObjectToWorld3x4},
7097+
{IntrinsicOp::MOP_DxHitObject_GetPrimitiveIndex,
7098+
TranslateHitObjectScalarGetter, DXIL::OpCode::HitObject_PrimitiveIndex},
7099+
{IntrinsicOp::MOP_DxHitObject_GetRayFlags, TranslateHitObjectScalarGetter,
7100+
DXIL::OpCode::HitObject_RayFlags},
7101+
{IntrinsicOp::MOP_DxHitObject_GetRayTCurrent,
7102+
TranslateHitObjectScalarGetter, DXIL::OpCode::HitObject_RayTCurrent},
7103+
{IntrinsicOp::MOP_DxHitObject_GetRayTMin, TranslateHitObjectScalarGetter,
7104+
DXIL::OpCode::HitObject_RayTMin},
7105+
{IntrinsicOp::MOP_DxHitObject_GetShaderTableIndex,
7106+
TranslateHitObjectScalarGetter, DXIL::OpCode::HitObject_ShaderTableIndex},
7107+
{IntrinsicOp::MOP_DxHitObject_GetWorldRayDirection,
7108+
TranslateHitObjectVectorGetter, DXIL::OpCode::HitObject_WorldRayDirection},
7109+
{IntrinsicOp::MOP_DxHitObject_GetWorldRayOrigin,
7110+
TranslateHitObjectVectorGetter, DXIL::OpCode::HitObject_WorldRayOrigin},
7111+
{IntrinsicOp::MOP_DxHitObject_GetWorldToObject3x4,
7112+
TranslateHitObjectMatrixGetter, DXIL::OpCode::HitObject_WorldToObject3x4},
7113+
{IntrinsicOp::MOP_DxHitObject_GetWorldToObject4x3,
7114+
TranslateHitObjectMatrixGetter, DXIL::OpCode::HitObject_WorldToObject3x4},
7115+
{IntrinsicOp::MOP_DxHitObject_Invoke, TranslateHitObjectInvoke,
7116+
DXIL::OpCode::HitObject_Invoke},
7117+
{IntrinsicOp::MOP_DxHitObject_IsHit, TranslateHitObjectScalarGetter,
7118+
DXIL::OpCode::HitObject_IsHit},
7119+
{IntrinsicOp::MOP_DxHitObject_IsMiss, TranslateHitObjectScalarGetter,
7120+
DXIL::OpCode::HitObject_IsMiss},
7121+
{IntrinsicOp::MOP_DxHitObject_IsNop, TranslateHitObjectScalarGetter,
7122+
DXIL::OpCode::HitObject_IsNop},
7123+
{IntrinsicOp::MOP_DxHitObject_LoadLocalRootTableConstant,
7124+
TranslateHitObjectLoadLocalRootTableConstant,
7125+
DXIL::OpCode::HitObject_LoadLocalRootTableConstant},
70057126
{IntrinsicOp::MOP_DxHitObject_MakeMiss, TranslateHitObjectMake,
70067127
DXIL::OpCode::HitObject_MakeMiss},
7128+
{IntrinsicOp::MOP_DxHitObject_SetShaderTableIndex,
7129+
TranslateHitObjectSetShaderTableIndex,
7130+
DXIL::OpCode::HitObject_SetShaderTableIndex},
7131+
{IntrinsicOp::MOP_DxHitObject_TraceRay, TranslateHitObjectTraceRay,
7132+
DXIL::OpCode::HitObject_TraceRay},
70077133
};
70087134
} // namespace
70097135
static_assert(

tools/clang/lib/AST/ASTContextHLSL.cpp

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1390,19 +1390,27 @@ CXXRecordDecl *hlsl::DeclareVkBufferPointerType(ASTContext &context,
13901390
DeclarationName(&context.Idents.get("Get")), true);
13911391
CanQualType canQualType =
13921392
recordDecl->getTypeForDecl()->getCanonicalTypeUnqualified();
1393-
CreateConstructorDeclarationWithParams(
1393+
auto *copyConstructorDecl = CreateConstructorDeclarationWithParams(
13941394
context, recordDecl, context.VoidTy,
13951395
{context.getRValueReferenceType(canQualType)}, {"bufferPointer"},
1396-
context.DeclarationNames.getCXXConstructorName(canQualType), false);
1397-
CreateConstructorDeclarationWithParams(
1396+
context.DeclarationNames.getCXXConstructorName(canQualType), false, true);
1397+
auto *addressConstructorDecl = CreateConstructorDeclarationWithParams(
13981398
context, recordDecl, context.VoidTy, {context.UnsignedIntTy}, {"address"},
1399-
context.DeclarationNames.getCXXConstructorName(canQualType), false);
1399+
context.DeclarationNames.getCXXConstructorName(canQualType), false, true);
1400+
hlsl::CreateFunctionTemplateDecl(
1401+
context, recordDecl, copyConstructorDecl,
1402+
Builder.getTemplateDecl()->getTemplateParameters()->begin(), 2);
1403+
hlsl::CreateFunctionTemplateDecl(
1404+
context, recordDecl, addressConstructorDecl,
1405+
Builder.getTemplateDecl()->getTemplateParameters()->begin(), 2);
14001406

14011407
StringRef OpcodeGroup = GetHLOpcodeGroupName(HLOpcodeGroup::HLIntrinsic);
14021408
unsigned Opcode = static_cast<unsigned>(IntrinsicOp::MOP_GetBufferContents);
14031409
methodDecl->addAttr(
14041410
HLSLIntrinsicAttr::CreateImplicit(context, OpcodeGroup, "", Opcode));
14051411
methodDecl->addAttr(HLSLCXXOverloadAttr::CreateImplicit(context));
1412+
copyConstructorDecl->addAttr(HLSLCXXOverloadAttr::CreateImplicit(context));
1413+
addressConstructorDecl->addAttr(HLSLCXXOverloadAttr::CreateImplicit(context));
14061414

14071415
return Builder.completeDefinition();
14081416
}

tools/clang/lib/CodeGen/CGDebugInfo.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1047,8 +1047,17 @@ bool CGDebugInfo::TryCollectHLSLRecordElements(const RecordType *Ty,
10471047
unsigned VecSize = hlsl::GetHLSLVecSize(QualTy);
10481048
unsigned ElemSizeInBits = CGM.getContext().getTypeSize(ElemQualTy);
10491049
unsigned CurrentAlignedOffset = 0;
1050+
SmallString<8> FieldNameBuf;
10501051
for (unsigned ElemIdx = 0; ElemIdx < VecSize; ++ElemIdx) {
1051-
StringRef FieldName = StringRef(&"xyzw"[ElemIdx], 1);
1052+
StringRef FieldName;
1053+
if (VecSize <= 4) {
1054+
FieldName = StringRef(&"xyzw"[ElemIdx], 1);
1055+
} else {
1056+
FieldNameBuf.clear();
1057+
llvm::raw_svector_ostream OS(FieldNameBuf);
1058+
OS << 'c' << ElemIdx;
1059+
FieldName = OS.str();
1060+
}
10521061
CurrentAlignedOffset =
10531062
llvm::RoundUpToAlignment(CurrentAlignedOffset, AlignBits);
10541063
llvm::DIType *FieldType =

tools/clang/lib/Sema/SemaExprCXX.cpp

Lines changed: 44 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,26 +1057,51 @@ Sema::BuildCXXTypeConstructExpr(TypeSourceInfo *TInfo,
10571057
Expr *Arg = Exprs[0];
10581058
#ifdef ENABLE_SPIRV_CODEGEN
10591059
if (hlsl::IsVKBufferPointerType(Ty) && Arg->getType()->isIntegerType()) {
1060-
for (auto *ctor : Ty->getAsCXXRecordDecl()->ctors()) {
1061-
if (auto *functionType = ctor->getType()->getAs<FunctionProtoType>()) {
1062-
if (functionType->getNumParams() != 1 ||
1063-
!functionType->getParamType(0)->isIntegerType())
1064-
continue;
1065-
1066-
CanQualType argType = Arg->getType()->getCanonicalTypeUnqualified();
1067-
if (!Arg->isRValue()) {
1068-
Arg = ImpCastExprToType(Arg, argType, CK_LValueToRValue).get();
1069-
}
1070-
if (argType != Context.UnsignedLongLongTy) {
1071-
Arg = ImpCastExprToType(Arg, Context.UnsignedLongLongTy,
1072-
CK_IntegralCast)
1073-
.get();
1074-
}
1075-
return CXXConstructExpr::Create(
1076-
Context, Ty, TyBeginLoc, ctor, false, {Arg}, false, false, false,
1077-
false, CXXConstructExpr::ConstructionKind::CK_Complete,
1078-
SourceRange(LParenLoc, RParenLoc));
1060+
typedef DeclContext::specific_decl_iterator<FunctionTemplateDecl> ft_iter;
1061+
auto *recordDecl = Ty->getAsCXXRecordDecl();
1062+
auto *specDecl = cast<ClassTemplateSpecializationDecl>(recordDecl);
1063+
auto *templatedDecl =
1064+
specDecl->getSpecializedTemplate()->getTemplatedDecl();
1065+
auto functionTemplateDecls =
1066+
llvm::iterator_range<ft_iter>(ft_iter(templatedDecl->decls_begin()),
1067+
ft_iter(templatedDecl->decls_end()));
1068+
for (auto *ftd : functionTemplateDecls) {
1069+
auto *fd = ftd->getTemplatedDecl();
1070+
if (fd->getNumParams() != 1 ||
1071+
!fd->getParamDecl(0)->getType()->isIntegerType())
1072+
continue;
1073+
1074+
void *insertPos;
1075+
auto templateArgs = ftd->getInjectedTemplateArgs();
1076+
auto *functionDecl = ftd->findSpecialization(templateArgs, insertPos);
1077+
if (!functionDecl) {
1078+
DeclarationNameInfo DInfo(ftd->getDeclName(),
1079+
recordDecl->getLocation());
1080+
auto *templateArgList = TemplateArgumentList::CreateCopy(
1081+
Context, templateArgs.data(), templateArgs.size());
1082+
functionDecl = CXXConstructorDecl::Create(
1083+
Context, recordDecl, Arg->getLocStart(), DInfo, Ty, TInfo, false,
1084+
false, false, false);
1085+
functionDecl->setFunctionTemplateSpecialization(ftd, templateArgList,
1086+
insertPos);
1087+
} else if (functionDecl->getDeclKind() != Decl::Kind::CXXConstructor) {
1088+
continue;
1089+
}
1090+
1091+
CanQualType argType = Arg->getType()->getCanonicalTypeUnqualified();
1092+
if (!Arg->isRValue()) {
1093+
Arg = ImpCastExprToType(Arg, argType, CK_LValueToRValue).get();
1094+
}
1095+
if (argType != Context.UnsignedLongLongTy) {
1096+
Arg = ImpCastExprToType(Arg, Context.UnsignedLongLongTy,
1097+
CK_IntegralCast)
1098+
.get();
10791099
}
1100+
return CXXConstructExpr::Create(
1101+
Context, Ty, TyBeginLoc, cast<CXXConstructorDecl>(functionDecl),
1102+
false, {Arg}, false, false, false, false,
1103+
CXXConstructExpr::ConstructionKind::CK_Complete,
1104+
SourceRange(LParenLoc, RParenLoc));
10801105
}
10811106
}
10821107
#endif

tools/clang/lib/Sema/SemaHLSL.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -580,9 +580,9 @@ const UINT g_uBasicKindProps[] = {
580580
0, // AR_OBJECT_PROCEDURAL_PRIMITIVE_HIT_GROUP,
581581
0, // AR_OBJECT_RAYTRACING_PIPELINE_CONFIG1,
582582

583-
BPROP_OBJECT, // AR_OBJECT_RAY_QUERY,
584-
BPROP_OBJECT, // AR_OBJECT_HEAP_RESOURCE,
585-
BPROP_OBJECT, // AR_OBJECT_HEAP_SAMPLER,
583+
LICOMPTYPE_RAY_QUERY, // AR_OBJECT_RAY_QUERY,
584+
BPROP_OBJECT, // AR_OBJECT_HEAP_RESOURCE,
585+
BPROP_OBJECT, // AR_OBJECT_HEAP_SAMPLER,
586586

587587
BPROP_OBJECT | BPROP_RWBUFFER | BPROP_TEXTURE, // AR_OBJECT_RWTEXTURE2DMS
588588
BPROP_OBJECT | BPROP_RWBUFFER |
@@ -1135,6 +1135,9 @@ static const ArBasicKind g_ResourceCT[] = {AR_OBJECT_HEAP_RESOURCE,
11351135

11361136
static const ArBasicKind g_RayDescCT[] = {AR_OBJECT_RAY_DESC, AR_BASIC_UNKNOWN};
11371137

1138+
static const ArBasicKind g_RayQueryCT[] = {AR_OBJECT_RAY_QUERY,
1139+
AR_BASIC_UNKNOWN};
1140+
11381141
static const ArBasicKind g_AccelerationStructCT[] = {
11391142
AR_OBJECT_ACCELERATION_STRUCT, AR_BASIC_UNKNOWN};
11401143

@@ -1297,6 +1300,7 @@ const ArBasicKind *g_LegalIntrinsicCompTypes[] = {
12971300
g_GroupNodeOutputRecordsCT, // LICOMPTYPE_GROUP_NODE_OUTPUT_RECORDS
12981301
g_ThreadNodeOutputRecordsCT, // LICOMPTYPE_THREAD_NODE_OUTPUT_RECORDS
12991302
g_DxHitObjectCT, // LICOMPTYPE_HIT_OBJECT
1303+
g_RayQueryCT, // LICOMPTYPE_RAY_QUERY
13001304
#ifdef ENABLE_SPIRV_CODEGEN
13011305
g_VKBufferPointerCT, // LICOMPTYPE_VK_BUFFER_POINTER
13021306
#endif

0 commit comments

Comments
 (0)