[clang] [HLSL] Add SPIR-V target type for RWStructuredBuffers (PR #133468)

Steven Perron via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 28 11:28:30 PDT 2025


================
@@ -386,13 +386,22 @@ llvm::Type *CommonSPIRTargetCodeGenInfo::getHLSLType(
     if (ContainedTy.isNull())
       return nullptr;
 
-    assert(!ResAttrs.RawBuffer &&
-           "Raw buffers handles are not implemented for SPIR-V yet");
     assert(!ResAttrs.IsROV &&
            "Rasterizer order views not implemented for SPIR-V yet");
 
-    // convert element type
     llvm::Type *ElemType = CGM.getTypes().ConvertType(ContainedTy);
+    if (ResAttrs.RawBuffer) {
+      llvm::ArrayType *RuntimeArrayType = llvm::ArrayType::get(ElemType, 0);
+
+      uint32_t StorageClass = /* StorageBuffer storage class */ 12;
----------------
s-perron wrote:

I can't find any example of including the table gen results from an llvm backend into clang. So I know how to get access to it. Let me know of you know how.

https://github.com/llvm/llvm-project/pull/133468


More information about the cfe-commits mailing list