tint: Rename `frexp().sig` to `frexp().fract`
Fixed: tint:1757
Change-Id: Iacce6ab0f08f89abbe5831e6f2285a0c964e74d7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/110100
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
diff --git a/src/tint/writer/hlsl/generator_impl.cc b/src/tint/writer/hlsl/generator_impl.cc
index 3eb3358..4c2ac48 100644
--- a/src/tint/writer/hlsl/generator_impl.cc
+++ b/src/tint/writer/hlsl/generator_impl.cc
@@ -1793,14 +1793,14 @@
}
line(b) << member_type << " exp;";
- line(b) << member_type << " sig = frexp(" << in << ", exp);";
+ line(b) << member_type << " fract = frexp(" << in << ", exp);";
{
auto l = line(b);
if (!EmitType(l, builtin->ReturnType(), ast::AddressSpace::kNone,
ast::Access::kUndefined, "")) {
return false;
}
- l << " result = {sig, int" << width << "(exp)};";
+ l << " result = {fract, int" << width << "(exp)};";
}
line(b) << "return result;";
return true;
@@ -3471,14 +3471,24 @@
}
out << ".";
- // Swizzles output the name directly
- if (builder_.Sem().Get(expr)->Is<sem::Swizzle>()) {
- out << builder_.Symbols().NameFor(expr->member->symbol);
- } else if (!EmitExpression(out, expr->member)) {
- return false;
- }
+ auto* sem = builder_.Sem().Get(expr);
- return true;
+ return Switch(
+ sem,
+ [&](const sem::Swizzle*) {
+ // Swizzles output the name directly
+ out << builder_.Symbols().NameFor(expr->member->symbol);
+ return true;
+ },
+ [&](const sem::StructMemberAccess* member_access) {
+ out << program_->Symbols().NameFor(member_access->Member()->Name());
+ return true;
+ },
+ [&](Default) {
+ TINT_ICE(Writer, diagnostics_)
+ << "unknown member access type: " << sem->TypeInfo().name;
+ return false;
+ });
}
bool GeneratorImpl::EmitReturn(const ast::ReturnStatement* stmt) {