Resolver: Handle AccessControl for storage-class propagation Fix msl tests that were impacted by this Change-Id: I00f4280c2f059358d9187babda9e44f2d16b096e Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/45244 Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: David Neto <dneto@google.com>
diff --git a/src/resolver/resolver.cc b/src/resolver/resolver.cc index a412be2..5d6b756 100644 --- a/src/resolver/resolver.cc +++ b/src/resolver/resolver.cc
@@ -1500,7 +1500,7 @@ bool Resolver::ApplyStorageClassUsageToType(ast::StorageClass sc, type::Type* ty) { - ty = ty->UnwrapAliasIfNeeded(); + ty = ty->UnwrapIfNeeded(); if (auto* str = ty->As<type::Struct>()) { auto* info = Structure(str);
diff --git a/src/writer/msl/generator_impl_function_test.cc b/src/writer/msl/generator_impl_function_test.cc index fc8c55d..8c67520 100644 --- a/src/writer/msl/generator_impl_function_test.cc +++ b/src/writer/msl/generator_impl_function_test.cc
@@ -275,8 +275,8 @@ using namespace metal; struct Data { - int a; - float b; + /* 0x0000 */ int a; + /* 0x0004 */ float b; }; fragment void frag_main(device Data& coord [[buffer(0)]]) { @@ -319,8 +319,8 @@ using namespace metal; struct Data { - int a; - float b; + /* 0x0000 */ int a; + /* 0x0004 */ float b; }; fragment void frag_main(const device Data& coord [[buffer(0)]]) { @@ -591,8 +591,8 @@ using namespace metal; struct Data { - int a; - float b; + /* 0x0000 */ int a; + /* 0x0004 */ float b; }; float sub_func(device Data& coord, float param) { @@ -650,8 +650,8 @@ using namespace metal; struct Data { - int a; - float b; + /* 0x0000 */ int a; + /* 0x0004 */ float b; }; float sub_func(const device Data& coord, float param) { @@ -794,7 +794,7 @@ using namespace metal; struct Data { - float d; + /* 0x0000 */ float d; }; kernel void a(device Data& data [[buffer(0)]]) {