Add signalSyncPoint to the WebGraphicsContext3D command buffer impls.
[chromium-blink-merge.git] / cc / resources / sync_point_helper.h
blobc342069bc7e2b70f4e6a676c2f7192d610f2f29e
1 // Copyright 2013 The Chromium 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.
5 #ifndef CC_RESOURCES_SYNC_POINT_HELPER_H_
6 #define CC_RESOURCES_SYNC_POINT_HELPER_H_
8 #include "base/callback.h"
9 #include "cc/base/cc_export.h"
11 namespace WebKit { class WebGraphicsContext3D; }
13 namespace cc {
15 class CC_EXPORT SyncPointHelper {
16 public:
17 // Requests a callback to |closure| when the |sync_point| is reached by the
18 // |context3d|.
20 // If the |context3d| is destroyed or lost before the callback fires, then
21 // AbortBecauseDidLoseOrDestroyContext() must be called to clean up the
22 // callback's resources.
23 static void SignalSyncPoint(
24 WebKit::WebGraphicsContext3D* context3d,
25 unsigned sync_point,
26 const base::Closure& closure);
28 private:
29 SyncPointHelper();
31 DISALLOW_COPY_AND_ASSIGN(SyncPointHelper);
34 } // namespace cc
36 #endif // CC_RESOURCES_SYNC_POINT_HELPER_H_