// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "ui/gl/gl_fence_apple.h" #include "ui/gl/gl_bindings.h" namespace gfx { GLFenceAPPLE::GLFenceAPPLE() { glGenFencesAPPLE(1, &fence_); glSetFenceAPPLE(fence_); DCHECK(glIsFenceAPPLE(fence_)); glFlush(); } bool GLFenceAPPLE::HasCompleted() { DCHECK(glIsFenceAPPLE(fence_)); return !!glTestFenceAPPLE(fence_); } void GLFenceAPPLE::ClientWait() { DCHECK(glIsFenceAPPLE(fence_)); glFinishFenceAPPLE(fence_); } void GLFenceAPPLE::ServerWait() { DCHECK(glIsFenceAPPLE(fence_)); ClientWait(); } GLFenceAPPLE::~GLFenceAPPLE() { DCHECK(glIsFenceAPPLE(fence_)); glDeleteFencesAPPLE(1, &fence_); } } // namespace gfx