OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_GL_GL_FENCE_EGL_H_ | 5 #ifndef UI_GL_GL_FENCE_EGL_H_ |
6 #define UI_GL_GL_FENCE_EGL_H_ | 6 #define UI_GL_GL_FENCE_EGL_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "ui/gl/gl_bindings.h" | 9 #include "ui/gl/gl_bindings.h" |
10 #include "ui/gl/gl_context.h" | |
11 #include "ui/gl/gl_fence.h" | 10 #include "ui/gl/gl_fence.h" |
12 | 11 |
13 namespace gfx { | 12 namespace gfx { |
14 | 13 |
15 class GL_EXPORT GLFenceEGL : public GLFence { | 14 class GL_EXPORT GLFenceEGL : public GLFence { |
16 public: | 15 public: |
17 GLFenceEGL(bool flush); | 16 GLFenceEGL(); |
18 ~GLFenceEGL() override; | 17 ~GLFenceEGL() override; |
19 | 18 |
20 // GLFence implementation: | 19 // GLFence implementation: |
21 bool HasCompleted() override; | 20 bool HasCompleted() override; |
22 void ClientWait() override; | 21 void ClientWait() override; |
23 void ServerWait() override; | 22 void ServerWait() override; |
24 | 23 |
25 private: | 24 private: |
26 EGLSyncKHR sync_; | 25 EGLSyncKHR sync_; |
27 EGLDisplay display_; | 26 EGLDisplay display_; |
28 scoped_refptr<GLContext::FlushEvent> flush_event_; | |
29 | 27 |
30 DISALLOW_COPY_AND_ASSIGN(GLFenceEGL); | 28 DISALLOW_COPY_AND_ASSIGN(GLFenceEGL); |
31 }; | 29 }; |
32 | 30 |
33 } // namespace gfx | 31 } // namespace gfx |
34 | 32 |
35 #endif // UI_GL_GL_FENCE_EGL_H_ | 33 #endif // UI_GL_GL_FENCE_EGL_H_ |
OLD | NEW |