Flutter Impeller
idle_waiter.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef FLUTTER_IMPELLER_CORE_IDLE_WAITER_H_
6 #define FLUTTER_IMPELLER_CORE_IDLE_WAITER_H_
7 
8 namespace impeller {
9 
10 /// Abstraction over waiting for the GPU to be idle.
11 ///
12 /// This is important for platforms like Vulkan where we need to make sure
13 /// we aren't deleting resources while the GPU is using them.
14 class IdleWaiter {
15  public:
16  virtual ~IdleWaiter() = default;
17 
18  /// Wait for the GPU tasks to finish.
19  /// This is a noop on some platforms, it's important for Vulkan.
20  virtual void WaitIdle() const = 0;
21 };
22 
23 } // namespace impeller
24 
25 #endif // FLUTTER_IMPELLER_CORE_IDLE_WAITER_H_
virtual ~IdleWaiter()=default
virtual void WaitIdle() const =0