From 4389a86787bd205363b82098c242ba0bbdf04bfb Mon Sep 17 00:00:00 2001 From: Dzmitry Malyshau Date: Sat, 3 Apr 2021 00:36:32 -0400 Subject: [PATCH] Fix layout roundup --- bin/convert.rs | 1 + src/proc/layouter.rs | 2 +- src/valid/analyzer.rs | 3 ++- src/valid/mod.rs | 1 + tests/out/quad.spvasm.snap | 2 +- tests/out/shadow.info.ron.snap | 2 +- 6 files changed, 7 insertions(+), 4 deletions(-) diff --git a/bin/convert.rs b/bin/convert.rs index aab31be55e..402b21e342 100644 --- a/bin/convert.rs +++ b/bin/convert.rs @@ -185,6 +185,7 @@ fn main() { Some(ref string) => string, None => { println!("{:#?}", module); + println!("{:#?}", info); return; } }; diff --git a/src/proc/layouter.rs b/src/proc/layouter.rs index 8a90cc8f4b..d8674f846e 100644 --- a/src/proc/layouter.rs +++ b/src/proc/layouter.rs @@ -30,7 +30,7 @@ impl Layouter { } pub fn round_up(alignment: NonZeroU32, offset: u32) -> u32 { - match offset & alignment.get() { + match offset & (alignment.get() - 1) { 0 => offset, other => offset + alignment.get() - other, } diff --git a/src/valid/analyzer.rs b/src/valid/analyzer.rs index 9e8e81c91b..94d7fecc9b 100644 --- a/src/valid/analyzer.rs +++ b/src/valid/analyzer.rs @@ -134,7 +134,7 @@ pub struct SamplingKey { pub sampler: Handle, } -#[derive(Clone)] +#[derive(Clone, Debug)] #[cfg_attr(feature = "serialize", derive(serde::Serialize))] #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] pub struct ExpressionInfo { @@ -159,6 +159,7 @@ impl ExpressionInfo { } } +#[derive(Debug)] #[cfg_attr(feature = "serialize", derive(serde::Serialize))] #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] pub struct FunctionInfo { diff --git a/src/valid/mod.rs b/src/valid/mod.rs index 5ed602521f..0ecf12e332 100644 --- a/src/valid/mod.rs +++ b/src/valid/mod.rs @@ -48,6 +48,7 @@ bitflags::bitflags! { } } +#[derive(Debug)] #[cfg_attr(feature = "serialize", derive(serde::Serialize))] #[cfg_attr(feature = "deserialize", derive(serde::Deserialize))] pub struct ModuleInfo { diff --git a/tests/out/quad.spvasm.snap b/tests/out/quad.spvasm.snap index 425fdedd51..ef0b768a01 100644 --- a/tests/out/quad.spvasm.snap +++ b/tests/out/quad.spvasm.snap @@ -30,7 +30,7 @@ OpName %44 "uv" OpName %47 "main" OpName %47 "main" OpMemberDecorate %9 0 Offset 0 -OpMemberDecorate %9 1 Offset 8 +OpMemberDecorate %9 1 Offset 16 OpDecorate %12 DescriptorSet 0 OpDecorate %12 Binding 0 OpDecorate %14 DescriptorSet 0 diff --git a/tests/out/shadow.info.ron.snap b/tests/out/shadow.info.ron.snap index 0881409f09..9280830557 100644 --- a/tests/out/shadow.info.ron.snap +++ b/tests/out/shadow.info.ron.snap @@ -2956,7 +2956,7 @@ expression: output alignment: 96, ), ( - size: 96, + size: 128, alignment: 96, ), (