s/sharable/shareable Fixed: tint:660 Change-Id: I5b98597acb771f6b07a16a85d85d8ae5249e495d Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/45283 Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: David Neto <dneto@google.com>
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f7b708c..509bc57 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt
@@ -468,9 +468,9 @@ intrinsic_table_test.cc program_test.cc resolver/decoration_validation_test.cc - resolver/host_sharable_validation_test.cc + resolver/host_shareable_validation_test.cc resolver/intrinsic_test.cc - resolver/is_host_sharable_test.cc + resolver/is_host_shareable_test.cc resolver/is_storeable_test.cc resolver/resolver_test_helper.cc resolver/resolver_test_helper.h
diff --git a/src/ast/storage_class.h b/src/ast/storage_class.h index 4232aa5..3b89986 100644 --- a/src/ast/storage_class.h +++ b/src/ast/storage_class.h
@@ -34,9 +34,9 @@ kFunction }; -/// @returns true if the StorageClass is host-sharable +/// @returns true if the StorageClass is host-shareable /// @see https://gpuweb.github.io/gpuweb/wgsl.html#host-shareable -inline bool IsHostSharable(StorageClass sc) { +inline bool IsHostShareable(StorageClass sc) { return sc == ast::StorageClass::kUniform || sc == ast::StorageClass::kStorage; }
diff --git a/src/resolver/host_sharable_validation_test.cc b/src/resolver/host_shareable_validation_test.cc similarity index 85% rename from src/resolver/host_sharable_validation_test.cc rename to src/resolver/host_shareable_validation_test.cc index 772e4db..aaac6a3 100644 --- a/src/resolver/host_sharable_validation_test.cc +++ b/src/resolver/host_shareable_validation_test.cc
@@ -23,20 +23,20 @@ namespace resolver { namespace { -using ResolverHostSharableValidationTest = ResolverTest; +using ResolverHostShareableValidationTest = ResolverTest; -TEST_F(ResolverHostSharableValidationTest, Bool) { +TEST_F(ResolverHostShareableValidationTest, Bool) { Global(Source{{56, 78}}, "g", ty.bool_(), ast::StorageClass::kStorage); ASSERT_FALSE(r()->Resolve()); EXPECT_EQ( r()->error(), - R"(56:78 error: Type 'bool' cannot be used in storage class 'storage' as it is non-host-sharable + R"(56:78 error: Type 'bool' cannot be used in storage class 'storage' as it is non-host-shareable 56:78 note: while instantiating variable g)"); } -TEST_F(ResolverHostSharableValidationTest, Pointer) { +TEST_F(ResolverHostShareableValidationTest, Pointer) { Global(Source{{56, 78}}, "g", ty.pointer<i32>(ast::StorageClass::kNone), ast::StorageClass::kStorage); @@ -44,11 +44,11 @@ EXPECT_EQ( r()->error(), - R"(56:78 error: Type 'ptr<i32>' cannot be used in storage class 'storage' as it is non-host-sharable + R"(56:78 error: Type 'ptr<i32>' cannot be used in storage class 'storage' as it is non-host-shareable 56:78 note: while instantiating variable g)"); } -TEST_F(ResolverHostSharableValidationTest, BoolMember) { +TEST_F(ResolverHostShareableValidationTest, BoolMember) { auto* s = Structure("S", {Member(Source{{12, 34}}, "x", ty.bool_())}); Global(Source{{56, 78}}, "g", s, ast::StorageClass::kStorage); @@ -56,12 +56,12 @@ EXPECT_EQ( r()->error(), - R"(56:78 error: Type 'bool' cannot be used in storage class 'storage' as it is non-host-sharable + R"(56:78 error: Type 'bool' cannot be used in storage class 'storage' as it is non-host-shareable 12:34 note: while analysing structure member S.x 56:78 note: while instantiating variable g)"); } -TEST_F(ResolverHostSharableValidationTest, BoolVectorMember) { +TEST_F(ResolverHostShareableValidationTest, BoolVectorMember) { auto* s = Structure("S", {Member(Source{{12, 34}}, "x", ty.vec3<bool>())}); Global(Source{{56, 78}}, "g", s, ast::StorageClass::kStorage); @@ -69,12 +69,12 @@ EXPECT_EQ( r()->error(), - R"(56:78 error: Type 'vec3<bool>' cannot be used in storage class 'storage' as it is non-host-sharable + R"(56:78 error: Type 'vec3<bool>' cannot be used in storage class 'storage' as it is non-host-shareable 12:34 note: while analysing structure member S.x 56:78 note: while instantiating variable g)"); } -TEST_F(ResolverHostSharableValidationTest, Aliases) { +TEST_F(ResolverHostShareableValidationTest, Aliases) { auto* a1 = ty.alias("a1", ty.bool_()); auto* s = Structure("S", {Member(Source{{12, 34}}, "x", a1)}); auto* a2 = ty.alias("a2", s); @@ -84,12 +84,12 @@ EXPECT_EQ( r()->error(), - R"(56:78 error: Type 'bool' cannot be used in storage class 'storage' as it is non-host-sharable + R"(56:78 error: Type 'bool' cannot be used in storage class 'storage' as it is non-host-shareable 12:34 note: while analysing structure member S.x 56:78 note: while instantiating variable g)"); } -TEST_F(ResolverHostSharableValidationTest, AccessControl) { +TEST_F(ResolverHostShareableValidationTest, AccessControl) { auto* s = Structure("S", {Member(Source{{12, 34}}, "x", ty.bool_())}); auto* a = create<type::AccessControl>(ast::AccessControl::kReadOnly, s); Global(Source{{56, 78}}, "g", a, ast::StorageClass::kStorage); @@ -98,12 +98,12 @@ EXPECT_EQ( r()->error(), - R"(56:78 error: Type 'bool' cannot be used in storage class 'storage' as it is non-host-sharable + R"(56:78 error: Type 'bool' cannot be used in storage class 'storage' as it is non-host-shareable 12:34 note: while analysing structure member S.x 56:78 note: while instantiating variable g)"); } -TEST_F(ResolverHostSharableValidationTest, NestedStructures) { +TEST_F(ResolverHostShareableValidationTest, NestedStructures) { auto* i1 = Structure("I1", {Member(Source{{1, 2}}, "x", ty.bool_())}); auto* i2 = Structure("I2", {Member(Source{{3, 4}}, "y", i1)}); auto* i3 = Structure("I3", {Member(Source{{5, 6}}, "z", i2)}); @@ -115,7 +115,7 @@ EXPECT_EQ( r()->error(), - R"(9:10 error: Type 'bool' cannot be used in storage class 'storage' as it is non-host-sharable + R"(9:10 error: Type 'bool' cannot be used in storage class 'storage' as it is non-host-shareable 1:2 note: while analysing structure member I1.x 3:4 note: while analysing structure member I2.y 5:6 note: while analysing structure member I3.z @@ -123,7 +123,7 @@ 9:10 note: while instantiating variable g)"); } -TEST_F(ResolverHostSharableValidationTest, NoError) { +TEST_F(ResolverHostShareableValidationTest, NoError) { auto* i1 = Structure("I1", { Member(Source{{1, 1}}, "x1", ty.f32()),
diff --git a/src/resolver/is_host_sharable_test.cc b/src/resolver/is_host_sharable_test.cc deleted file mode 100644 index a8e641a..0000000 --- a/src/resolver/is_host_sharable_test.cc +++ /dev/null
@@ -1,150 +0,0 @@ -// Copyright 2021 The Tint Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "src/resolver/resolver.h" - -#include "gmock/gmock.h" -#include "src/resolver/resolver_test_helper.h" -#include "src/type/access_control_type.h" - -namespace tint { -namespace resolver { -namespace { - -using ResolverIsHostSharable = ResolverTest; - -TEST_F(ResolverIsHostSharable, Void) { - EXPECT_FALSE(r()->IsHostSharable(ty.void_())); -} - -TEST_F(ResolverIsHostSharable, Bool) { - EXPECT_FALSE(r()->IsHostSharable(ty.bool_())); -} - -TEST_F(ResolverIsHostSharable, NumericScalar) { - EXPECT_TRUE(r()->IsHostSharable(ty.i32())); - EXPECT_TRUE(r()->IsHostSharable(ty.u32())); - EXPECT_TRUE(r()->IsHostSharable(ty.f32())); -} - -TEST_F(ResolverIsHostSharable, NumericVector) { - EXPECT_TRUE(r()->IsHostSharable(ty.vec2<i32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.vec3<i32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.vec4<i32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.vec2<u32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.vec3<u32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.vec4<u32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.vec2<f32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.vec3<f32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.vec4<f32>())); -} - -TEST_F(ResolverIsHostSharable, BoolVector) { - EXPECT_FALSE(r()->IsHostSharable(ty.vec2<bool>())); - EXPECT_FALSE(r()->IsHostSharable(ty.vec3<bool>())); - EXPECT_FALSE(r()->IsHostSharable(ty.vec4<bool>())); - EXPECT_FALSE(r()->IsHostSharable(ty.vec2<bool>())); - EXPECT_FALSE(r()->IsHostSharable(ty.vec3<bool>())); - EXPECT_FALSE(r()->IsHostSharable(ty.vec4<bool>())); - EXPECT_FALSE(r()->IsHostSharable(ty.vec2<bool>())); - EXPECT_FALSE(r()->IsHostSharable(ty.vec3<bool>())); - EXPECT_FALSE(r()->IsHostSharable(ty.vec4<bool>())); -} - -TEST_F(ResolverIsHostSharable, Matrix) { - EXPECT_TRUE(r()->IsHostSharable(ty.mat2x2<f32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.mat2x3<f32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.mat2x4<f32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.mat3x2<f32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.mat3x3<f32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.mat3x4<f32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.mat4x2<f32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.mat4x3<f32>())); - EXPECT_TRUE(r()->IsHostSharable(ty.mat4x4<f32>())); -} - -TEST_F(ResolverIsHostSharable, Pointer) { - EXPECT_FALSE( - r()->IsHostSharable(ty.pointer<i32>(ast::StorageClass::kPrivate))); -} - -TEST_F(ResolverIsHostSharable, AliasVoid) { - EXPECT_FALSE(r()->IsHostSharable(ty.alias("a", ty.void_()))); -} - -TEST_F(ResolverIsHostSharable, AliasI32) { - EXPECT_TRUE(r()->IsHostSharable(ty.alias("a", ty.i32()))); -} - -TEST_F(ResolverIsHostSharable, AccessControlVoid) { - EXPECT_FALSE(r()->IsHostSharable( - create<type::AccessControl>(ast::AccessControl::kReadOnly, ty.void_()))); -} - -TEST_F(ResolverIsHostSharable, AccessControlI32) { - EXPECT_TRUE(r()->IsHostSharable( - create<type::AccessControl>(ast::AccessControl::kReadOnly, ty.i32()))); -} - -TEST_F(ResolverIsHostSharable, ArraySizedOfHostSharable) { - EXPECT_TRUE(r()->IsHostSharable(ty.array(ty.i32(), 5))); -} - -TEST_F(ResolverIsHostSharable, ArrayUnsizedOfHostSharable) { - EXPECT_TRUE(r()->IsHostSharable(ty.array<i32>())); -} - -TEST_F(ResolverIsHostSharable, Struct_AllMembersHostSharable) { - EXPECT_TRUE(r()->IsHostSharable(Structure("S", { - Member("a", ty.i32()), - Member("b", ty.f32()), - }))); -} - -TEST_F(ResolverIsHostSharable, Struct_SomeMembersNonHostSharable) { - auto* ptr_ty = ty.pointer<i32>(ast::StorageClass::kPrivate); - EXPECT_FALSE(r()->IsHostSharable(Structure("S", { - Member("a", ty.i32()), - Member("b", ptr_ty), - }))); -} - -TEST_F(ResolverIsHostSharable, Struct_NestedHostSharable) { - auto* host_sharable = Structure("S", { - Member("a", ty.i32()), - Member("b", ty.f32()), - }); - EXPECT_TRUE(r()->IsHostSharable(Structure("S", { - Member("a", ty.i32()), - Member("b", host_sharable), - }))); -} - -TEST_F(ResolverIsHostSharable, Struct_NestedNonHostSharable) { - auto* ptr_ty = ty.pointer<i32>(ast::StorageClass::kPrivate); - auto* non_host_sharable = - Structure("non_host_sharable", { - Member("a", ty.i32()), - Member("b", ptr_ty), - }); - EXPECT_FALSE( - r()->IsHostSharable(Structure("S", { - Member("a", ty.i32()), - Member("b", non_host_sharable), - }))); -} - -} // namespace -} // namespace resolver -} // namespace tint
diff --git a/src/resolver/is_host_shareable_test.cc b/src/resolver/is_host_shareable_test.cc new file mode 100644 index 0000000..8f1d802 --- /dev/null +++ b/src/resolver/is_host_shareable_test.cc
@@ -0,0 +1,151 @@ +// Copyright 2021 The Tint Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "src/resolver/resolver.h" + +#include "gmock/gmock.h" +#include "src/resolver/resolver_test_helper.h" +#include "src/type/access_control_type.h" + +namespace tint { +namespace resolver { +namespace { + +using ResolverIsHostShareable = ResolverTest; + +TEST_F(ResolverIsHostShareable, Void) { + EXPECT_FALSE(r()->IsHostShareable(ty.void_())); +} + +TEST_F(ResolverIsHostShareable, Bool) { + EXPECT_FALSE(r()->IsHostShareable(ty.bool_())); +} + +TEST_F(ResolverIsHostShareable, NumericScalar) { + EXPECT_TRUE(r()->IsHostShareable(ty.i32())); + EXPECT_TRUE(r()->IsHostShareable(ty.u32())); + EXPECT_TRUE(r()->IsHostShareable(ty.f32())); +} + +TEST_F(ResolverIsHostShareable, NumericVector) { + EXPECT_TRUE(r()->IsHostShareable(ty.vec2<i32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.vec3<i32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.vec4<i32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.vec2<u32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.vec3<u32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.vec4<u32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.vec2<f32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.vec3<f32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.vec4<f32>())); +} + +TEST_F(ResolverIsHostShareable, BoolVector) { + EXPECT_FALSE(r()->IsHostShareable(ty.vec2<bool>())); + EXPECT_FALSE(r()->IsHostShareable(ty.vec3<bool>())); + EXPECT_FALSE(r()->IsHostShareable(ty.vec4<bool>())); + EXPECT_FALSE(r()->IsHostShareable(ty.vec2<bool>())); + EXPECT_FALSE(r()->IsHostShareable(ty.vec3<bool>())); + EXPECT_FALSE(r()->IsHostShareable(ty.vec4<bool>())); + EXPECT_FALSE(r()->IsHostShareable(ty.vec2<bool>())); + EXPECT_FALSE(r()->IsHostShareable(ty.vec3<bool>())); + EXPECT_FALSE(r()->IsHostShareable(ty.vec4<bool>())); +} + +TEST_F(ResolverIsHostShareable, Matrix) { + EXPECT_TRUE(r()->IsHostShareable(ty.mat2x2<f32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.mat2x3<f32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.mat2x4<f32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.mat3x2<f32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.mat3x3<f32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.mat3x4<f32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.mat4x2<f32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.mat4x3<f32>())); + EXPECT_TRUE(r()->IsHostShareable(ty.mat4x4<f32>())); +} + +TEST_F(ResolverIsHostShareable, Pointer) { + EXPECT_FALSE( + r()->IsHostShareable(ty.pointer<i32>(ast::StorageClass::kPrivate))); +} + +TEST_F(ResolverIsHostShareable, AliasVoid) { + EXPECT_FALSE(r()->IsHostShareable(ty.alias("a", ty.void_()))); +} + +TEST_F(ResolverIsHostShareable, AliasI32) { + EXPECT_TRUE(r()->IsHostShareable(ty.alias("a", ty.i32()))); +} + +TEST_F(ResolverIsHostShareable, AccessControlVoid) { + EXPECT_FALSE(r()->IsHostShareable( + create<type::AccessControl>(ast::AccessControl::kReadOnly, ty.void_()))); +} + +TEST_F(ResolverIsHostShareable, AccessControlI32) { + EXPECT_TRUE(r()->IsHostShareable( + create<type::AccessControl>(ast::AccessControl::kReadOnly, ty.i32()))); +} + +TEST_F(ResolverIsHostShareable, ArraySizedOfHostShareable) { + EXPECT_TRUE(r()->IsHostShareable(ty.array(ty.i32(), 5))); +} + +TEST_F(ResolverIsHostShareable, ArrayUnsizedOfHostShareable) { + EXPECT_TRUE(r()->IsHostShareable(ty.array<i32>())); +} + +TEST_F(ResolverIsHostShareable, Struct_AllMembersHostShareable) { + EXPECT_TRUE(r()->IsHostShareable(Structure("S", { + Member("a", ty.i32()), + Member("b", ty.f32()), + }))); +} + +TEST_F(ResolverIsHostShareable, Struct_SomeMembersNonHostShareable) { + auto* ptr_ty = ty.pointer<i32>(ast::StorageClass::kPrivate); + EXPECT_FALSE(r()->IsHostShareable(Structure("S", { + Member("a", ty.i32()), + Member("b", ptr_ty), + }))); +} + +TEST_F(ResolverIsHostShareable, Struct_NestedHostShareable) { + auto* host_shareable = Structure("S", { + Member("a", ty.i32()), + Member("b", ty.f32()), + }); + EXPECT_TRUE( + r()->IsHostShareable(Structure("S", { + Member("a", ty.i32()), + Member("b", host_shareable), + }))); +} + +TEST_F(ResolverIsHostShareable, Struct_NestedNonHostShareable) { + auto* ptr_ty = ty.pointer<i32>(ast::StorageClass::kPrivate); + auto* non_host_shareable = + Structure("non_host_shareable", { + Member("a", ty.i32()), + Member("b", ptr_ty), + }); + EXPECT_FALSE( + r()->IsHostShareable(Structure("S", { + Member("a", ty.i32()), + Member("b", non_host_shareable), + }))); +} + +} // namespace +} // namespace resolver +} // namespace tint
diff --git a/src/resolver/resolver.cc b/src/resolver/resolver.cc index 4f4f797..9443613 100644 --- a/src/resolver/resolver.cc +++ b/src/resolver/resolver.cc
@@ -132,23 +132,23 @@ } // https://gpuweb.github.io/gpuweb/wgsl.html#host-shareable-types -bool Resolver::IsHostSharable(type::Type* type) { +bool Resolver::IsHostShareable(type::Type* type) { type = type->UnwrapIfNeeded(); if (type->IsAnyOf<type::I32, type::U32, type::F32>()) { return true; } if (auto* vec = type->As<type::Vector>()) { - return IsHostSharable(vec->type()); + return IsHostShareable(vec->type()); } if (auto* mat = type->As<type::Matrix>()) { - return IsHostSharable(mat->type()); + return IsHostShareable(mat->type()); } if (auto* arr = type->As<type::Array>()) { - return IsHostSharable(arr->type()); + return IsHostShareable(arr->type()); } if (auto* str = type->As<type::Struct>()) { for (auto* member : str->impl()->members()) { - if (!IsHostSharable(member->type())) { + if (!IsHostShareable(member->type())) { return false; } } @@ -1335,7 +1335,7 @@ ty = ty->UnwrapAliasIfNeeded(); if (ty->is_scalar()) { - // Note: Also captures booleans, but these are not host-sharable. + // Note: Also captures booleans, but these are not host-shareable. align = 4; size = 4; return true; @@ -1622,11 +1622,11 @@ return ApplyStorageClassUsageToType(sc, arr->type(), usage); } - if (ast::IsHostSharable(sc) && !IsHostSharable(ty)) { + if (ast::IsHostShareable(sc) && !IsHostShareable(ty)) { std::stringstream err; err << "Type '" << ty->FriendlyName(builder_->Symbols()) << "' cannot be used in storage class '" << sc - << "' as it is non-host-sharable"; + << "' as it is non-host-shareable"; diagnostics_.add_error(err.str(), usage); return false; }
diff --git a/src/resolver/resolver.h b/src/resolver/resolver.h index d827e81..ea29d2e 100644 --- a/src/resolver/resolver.h +++ b/src/resolver/resolver.h
@@ -74,8 +74,8 @@ static bool IsStorable(type::Type* type); /// @param type the given type - /// @returns true if the given type is host-sharable - static bool IsHostSharable(type::Type* type); + /// @returns true if the given type is host-shareable + static bool IsHostShareable(type::Type* type); private: /// Structure holding semantic information about a variable.
diff --git a/src/semantic/struct.h b/src/semantic/struct.h index fbcb434..70c315b 100644 --- a/src/semantic/struct.h +++ b/src/semantic/struct.h
@@ -95,10 +95,10 @@ } /// @returns true iff this structure has been used by storage class that's - /// host-sharable. - bool IsHostSharable() const { + /// host-shareable. + bool IsHostShareable() const { for (auto sc : storage_class_usage_) { - if (ast::IsHostSharable(sc)) { + if (ast::IsHostShareable(sc)) { return true; } }
diff --git a/src/writer/msl/generator_impl.cc b/src/writer/msl/generator_impl.cc index d25558d..0a4e768 100644 --- a/src/writer/msl/generator_impl.cc +++ b/src/writer/msl/generator_impl.cc
@@ -2009,7 +2009,7 @@ return false; } - bool is_host_sharable = sem_str->IsHostSharable(); + bool is_host_shareable = sem_str->IsHostShareable(); // Emits a `/* 0xnnnn */` byte offset comment for a struct member. auto add_byte_offset_comment = [&](uint32_t offset) { @@ -2039,7 +2039,7 @@ auto wgsl_offset = sem_mem->Offset(); - if (is_host_sharable) { + if (is_host_shareable) { if (wgsl_offset < msl_offset) { // Unimplementable layout TINT_ICE(diagnostics_) @@ -2084,7 +2084,7 @@ out_ << ";" << std::endl; - if (is_host_sharable) { + if (is_host_shareable) { // Calculate new MSL offset auto size_align = MslPackedTypeSizeAndAlign(ty); if (msl_offset % size_align.align) { @@ -2097,7 +2097,7 @@ } } - if (is_host_sharable && sem_str->Size() != msl_offset) { + if (is_host_shareable && sem_str->Size() != msl_offset) { make_indent(); add_byte_offset_comment(msl_offset); add_padding(sem_str->Size() - msl_offset);
diff --git a/test/BUILD.gn b/test/BUILD.gn index 85bf3fc..f60bdc0 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn
@@ -170,9 +170,9 @@ "../src/program_builder_test.cc", "../src/program_test.cc", "../src/resolver/decoration_validation_test.cc", - "../src/resolver/host_sharable_validation_test.cc", + "../src/resolver/host_shareable_validation_test.cc", "../src/resolver/intrinsic_test.cc", - "../src/resolver/is_host_sharable_test.cc", + "../src/resolver/is_host_shareable_test.cc", "../src/resolver/is_storeable_test.cc", "../src/resolver/resolver_test.cc", "../src/resolver/resolver_test_helper.cc",