OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright 2016 Google Inc. | |
3 * | |
4 * Use of this source code is governed by a BSD-style license that can be | |
5 * found in the LICENSE file. | |
6 */ | |
7 | |
8 #ifndef FenceSync_DEFINED | |
9 #define FenceSync_DEFINED | |
10 | |
11 #include "SkTypes.h" | |
12 | |
13 namespace sk_gpu_test { | |
14 | |
15 using PlatformFence = intptr_t; | |
16 static constexpr PlatformFence kInvalidPlatformFence = 0; | |
17 | |
18 /* | |
19 * This class provides an interface to interact with fence syncs. A fence sync i
s an object that the | |
20 * client can insert into the GPU command stream, and then at any future time, w
ait until all | |
21 * commands that were issued before the fence have completed. | |
22 */ | |
23 class FenceSync { | |
24 public: | |
25 virtual PlatformFence SK_WARN_UNUSED_RESULT insertFence() const = 0; | |
26 virtual bool waitFence(PlatformFence) const = 0; | |
27 virtual void deleteFence(PlatformFence) const = 0; | |
28 | |
29 virtual ~FenceSync() {} | |
30 }; | |
31 | |
32 } | |
33 | |
34 #endif | |
OLD | NEW |