llvm-beanz wrote:
> This PR will not change this. The padding will only be added when required.
_That's the problem_
>
> ```hlsl
> cbuffer {
> float F;
> float2 V;
> }
> ```
>
> will still got
>
> ```llvm
> type { float, <2 x float>}
> ```
And there will implicitly be padding between the two elements based on what
data layout does because the vector will be 64-bit aligned, which _is not_ how
cbuffers work.
But that's actually not the biggest problem here. The biggest problem is that
we shouldn't add padding for `packoffset`, but not for things that are
implicitly laid out, and we should have a plan for how we lower this before we
do any of this.
Your design document that you based this off of explicitly excluded all the IR
representations. We shouldn't write this code until the design doc is updated
with the IR and lowering design.
https://github.com/llvm/llvm-project/pull/91999
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits