================ @@ -56,9 +75,18 @@ llvm::Type *DirectXTargetCodeGenInfo::getHLSLType(CodeGenModule &CGM, return llvm::TargetExtType::get(Ctx, TypeName, {ElemType}, Ints); } - case llvm::dxil::ResourceClass::CBuffer: - llvm_unreachable("dx.CBuffer handles are not implemented yet"); - break; + case llvm::dxil::ResourceClass::CBuffer: { + QualType ContainedTy = ResType->getContainedType(); + if (ContainedTy.isNull() || !ContainedTy->isStructureType()) ---------------- hekota wrote:
Contained type of the CBuffer resource handle is always a layout struct of the constant buffer (implicitly created by Sema [here](https://github.com/llvm/llvm-project/blob/e9fb2391210e20d1d4dcf8bbe37085df902ed028/clang/lib/Sema/SemaHLSL.cpp#L475)). https://github.com/llvm/llvm-project/pull/124886 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits