================
@@ -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

Reply via email to