[spv-in] fix struct spans for layout-less structs

This commit is contained in:
Dzmitry Malyshau
2021-08-09 21:15:47 -04:00
committed by Dzmitry Malyshau
parent 021bfd5289
commit 07c286255d

View File

@@ -3090,15 +3090,17 @@ impl<I: Iterator<Item = u32>> Parser<I> {
let inner = crate::TypeInner::Struct {
top_level: block_decor.is_some(),
span: match members.last() {
Some(member) => {
span: members
.iter()
.map(|member| {
let end = member.offset + module.types[member.ty].inner.span(&module.constants);
((end - 1) | (struct_alignment.get() - 1)) + 1
}
None => 4, //do we support this?
},
})
.max()
.unwrap_or(4), //do we support this?
members,
};
let ty_handle = module.types.append(crate::Type {
name: parent_decor.and_then(|dec| dec.name),
inner,