Roll src/third_party/WebKit b944946:201fd41 (svn 192400:192407)
[chromium-blink-merge.git] / ui / gl / gl_fence.h
blob76511f4146511138d540376504f8d3423e6f115a
1 // Copyright (c) 2012 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 UI_GL_GL_FENCE_H_
6 #define UI_GL_GL_FENCE_H_
8 #include "base/basictypes.h"
9 #include "ui/gl/gl_export.h"
11 namespace gfx {
13 class GL_EXPORT GLFence {
14 public:
15 GLFence();
16 virtual ~GLFence();
18 static bool IsSupported();
19 static GLFence* Create();
21 virtual bool HasCompleted() = 0;
22 virtual void ClientWait() = 0;
24 // Will block the server if supported, but might fall back to blocking the
25 // client.
26 virtual void ServerWait() = 0;
28 private:
29 DISALLOW_COPY_AND_ASSIGN(GLFence);
32 } // namespace gfx
34 #endif // UI_GL_GL_FENCE_H_