writer/wgsl: Fix size / align decoration emission

This was broken by a rebase of the Default Struct Layout change.
This went unnoticed because there was no test coverage for these. Added.

Also replace `[[offset(n)]]` decorations with padding fields.

Bug: tint:626
Change-Id: Iad6f1a239bc8d8fcb15d18a204d3f5a78a372350
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44683
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Reviewed-by: David Neto <dneto@google.com>
This commit is contained in:
Ben Clayton
2021-03-15 20:25:12 +00:00
committed by Commit Bot service account
parent fd3cf82056
commit 822fa54d87
6 changed files with 141 additions and 22 deletions

View File

@@ -1188,7 +1188,7 @@ const semantic::Struct* Resolver::Structure(type::Struct* str) {
offset = utils::RoundUp(align, offset);
auto* sem_member =
builder_->create<semantic::StructMember>(member, offset, size);
builder_->create<semantic::StructMember>(member, offset, align, size);
builder_->Sem().Add(member, sem_member);
sem_members.emplace_back(sem_member);