Bug: None: Fix GCC 11 compilation issue Change-Id: I5678729ebe00b8359df43d18d0b1dd003b46b496 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/249454 Reviewed-by: David Neto <dneto@google.com> Reviewed-by: dan sinclair <dsinclair@chromium.org> Commit-Queue: David Neto <dneto@google.com>
diff --git a/src/dawn/native/TintUtils.h b/src/dawn/native/TintUtils.h index fe26099..b1d241e 100644 --- a/src/dawn/native/TintUtils.h +++ b/src/dawn/native/TintUtils.h
@@ -52,15 +52,16 @@ std::unordered_map<tint::OverrideId, double> BuildSubstituteOverridesTransformConfig( const ProgrammableStage& stage); +namespace stream { // Uses tint::ForeachField when available to implement the stream::Stream trait for types. template <typename T> requires(tint::HasReflection<T>) -class stream::Stream<T> { +class Stream<T> { public: - static void Write(stream::Sink* s, const T& v) { + static void Write(Sink* s, const T& v) { tint::ForeachField(v, [&](const auto& f) { StreamIn(s, f); }); } - static MaybeError Read(stream::Source* s, T* v) { + static MaybeError Read(Source* s, T* v) { MaybeError error = {}; tint::ForeachField(*v, [&](auto& f) { if (!error.IsError()) { @@ -70,6 +71,7 @@ return error; } }; +} // namespace stream constexpr tint::BindingPoint ToTint(const BindingSlot& slot) { return {static_cast<uint32_t>(slot.group), static_cast<uint32_t>(slot.binding)};