[clang] [HLSL][Sema] Fix Struct Size Calculation containing 16/32 bit scalars (PR #128086)
Ashley Coleman via cfe-commits
cfe-commits at lists.llvm.org
Tue Feb 25 11:51:59 PST 2025
================
@@ -172,6 +172,23 @@ Decl *SemaHLSL::ActOnStartBuffer(Scope *BufferScope, bool CBuffer,
return Result;
}
+static unsigned calculateLegacyCbufferFieldAlign(const ASTContext &Context,
+ QualType T) {
+ // Arrays and Structs are always aligned to new buffer rows
+ if (T->isArrayType() || T->isStructureType())
+ return 16;
+
+ // Vectors are aligned to the type they contain
+ if (const VectorType *VT = T->getAs<VectorType>())
+ return calculateLegacyCbufferFieldAlign(Context, VT->getElementType());
----------------
V-FEXrt wrote:
Right, I see! Thanks!
https://github.com/llvm/llvm-project/pull/128086
More information about the cfe-commits
mailing list