mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-17 08:57:26 +00:00
writer/spirv: Simplify member accesses
Using semantic info. Change-Id: Iec9a592d9d66930535ead78fab69a6085a57a941 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/50302 Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: Antonio Maiorano <amaiorano@google.com> Reviewed-by: James Price <jrprice@google.com>
This commit is contained in:
committed by
Commit Bot service account
parent
4cd5eea87e
commit
2e1a284cbb
@@ -2535,7 +2535,8 @@ sem::Struct* Resolver::Structure(const ast::Struct* str) {
|
||||
offset = utils::RoundUp(align, offset);
|
||||
|
||||
auto* sem_member = builder_->create<sem::StructMember>(
|
||||
member, const_cast<sem::Type*>(type), offset, align, size);
|
||||
member, const_cast<sem::Type*>(type),
|
||||
static_cast<uint32_t>(sem_members.size()), offset, align, size);
|
||||
builder_->Sem().Add(member, sem_member);
|
||||
sem_members.emplace_back(sem_member);
|
||||
|
||||
|
||||
@@ -901,6 +901,7 @@ TEST_F(ResolverTest, Expr_MemberAccessor_Struct) {
|
||||
auto* sma = Sem().Get(mem)->As<sem::StructMemberAccess>();
|
||||
ASSERT_NE(sma, nullptr);
|
||||
EXPECT_EQ(sma->Member()->Type(), ty.f32());
|
||||
EXPECT_EQ(sma->Member()->Index(), 1u);
|
||||
EXPECT_EQ(sma->Member()->Declaration()->symbol(),
|
||||
Symbols().Get("second_member"));
|
||||
}
|
||||
@@ -925,6 +926,7 @@ TEST_F(ResolverTest, Expr_MemberAccessor_Struct_Alias) {
|
||||
auto* sma = Sem().Get(mem)->As<sem::StructMemberAccess>();
|
||||
ASSERT_NE(sma, nullptr);
|
||||
EXPECT_EQ(sma->Member()->Type(), ty.f32());
|
||||
EXPECT_EQ(sma->Member()->Index(), 1u);
|
||||
}
|
||||
|
||||
TEST_F(ResolverTest, Expr_MemberAccessor_VectorSwizzle) {
|
||||
|
||||
Reference in New Issue
Block a user