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 3// found in the LICENSE file. 4 5#ifndef UI_GL_GL_FENCE_NV_H_ 6#define UI_GL_GL_FENCE_NV_H_ 7 8#include "base/macros.h" 9#include "ui/gl/gl_bindings.h" 10#include "ui/gl/gl_context.h" 11#include "ui/gl/gl_fence.h" 12 13namespace gfx { 14 15class GL_EXPORT GLFenceNV : public GLFence { 16 public: 17 GLFenceNV(bool flush); 18 virtual ~GLFenceNV(); 19 20 // GLFence implementation: 21 virtual bool HasCompleted() OVERRIDE; 22 virtual void ClientWait() OVERRIDE; 23 virtual void ServerWait() OVERRIDE; 24 25 private: 26 GLuint fence_; 27 scoped_refptr<GLContext::FlushEvent> flush_event_; 28 29 DISALLOW_COPY_AND_ASSIGN(GLFenceNV); 30}; 31 32} // namespace gfx 33 34#endif // UI_GL_GL_FENCE_NV_H_ 35