• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 
2 /*
3  * Copyright 2015 Google Inc.
4  *
5  * Use of this source code is governed by a BSD-style license that can be
6  * found in the LICENSE file.
7  */
8 #ifndef SkGpuFenceSync_DEFINED
9 #define SkGpuFenceSync_DEFINED
10 
11 #include "SkTypes.h"
12 
13 typedef void* SkPlatformGpuFence;
14 
15 /*
16  * This class provides an interface to interact with fence syncs. A fence sync is an object that the
17  * client can insert into the GPU command stream, and then at any future time, wait until all
18  * commands that were issued before the fence have completed.
19  */
20 class SkGpuFenceSync {
21 public:
22     virtual SkPlatformGpuFence SK_WARN_UNUSED_RESULT insertFence() const = 0;
23     virtual bool waitFence(SkPlatformGpuFence, bool flush) const = 0;
24     virtual void deleteFence(SkPlatformGpuFence) const = 0;
25 
~SkGpuFenceSync()26     virtual ~SkGpuFenceSync() {}
27 };
28 
29 #endif
30