| Index: ui/gl/gl_fence.cc
|
| diff --git a/ui/gl/gl_fence.cc b/ui/gl/gl_fence.cc
|
| index 9b85300fabdbc10e7ecf27685930a7b55f1a2408..d8482a7e2b00c3196608020205c392d226a4adb0 100644
|
| --- a/ui/gl/gl_fence.cc
|
| +++ b/ui/gl/gl_fence.cc
|
| @@ -36,6 +36,10 @@ class GLFenceNVFence: public gfx::GLFence {
|
| glFinishFenceNV(fence_);
|
| }
|
|
|
| + virtual void ServerWait() OVERRIDE {
|
| + glFinishFenceNV(fence_);
|
| + }
|
| +
|
| private:
|
| virtual ~GLFenceNVFence() {
|
| glDeleteFencesNV(1, &fence_);
|
| @@ -66,6 +70,10 @@ class GLFenceARBSync: public gfx::GLFence {
|
| glClientWaitSync(sync_, GL_SYNC_FLUSH_COMMANDS_BIT, GL_TIMEOUT_IGNORED);
|
| }
|
|
|
| + virtual void ServerWait() OVERRIDE {
|
| + glWaitSync(sync_, 0, GL_TIMEOUT_IGNORED);
|
| + }
|
| +
|
| private:
|
| virtual ~GLFenceARBSync() {
|
| glDeleteSync(sync_);
|
| @@ -96,6 +104,12 @@ class EGLFenceSync : public gfx::GLFence {
|
| eglClientWaitSyncKHR(display_, sync_, flags, time);
|
| }
|
|
|
| + virtual void ServerWait() OVERRIDE {
|
| + EGLint flags = 0;
|
| + eglWaitSyncKHR(display_, sync_, flags);
|
| + }
|
| +
|
| +
|
| private:
|
| virtual ~EGLFenceSync() {
|
| eglDestroySyncKHR(display_, sync_);
|
|
|