1 // 2 // Copyright (c) 2002-2013 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 // Fence.h: Defines the gl::Fence class, which supports the GL_NV_fence extension. 8 9 #ifndef LIBGLESV2_FENCE_H_ 10 #define LIBGLESV2_FENCE_H_ 11 12 #include "common/angleutils.h" 13 14 namespace rx 15 { 16 class Renderer; 17 class FenceImpl; 18 } 19 20 namespace gl 21 { 22 23 class Fence 24 { 25 public: 26 explicit Fence(rx::Renderer *renderer); 27 virtual ~Fence(); 28 29 GLboolean isFence(); 30 void setFence(GLenum condition); 31 GLboolean testFence(); 32 void finishFence(); 33 void getFenceiv(GLenum pname, GLint *params); 34 35 private: 36 DISALLOW_COPY_AND_ASSIGN(Fence); 37 38 rx::FenceImpl *mFence; 39 }; 40 41 } 42 43 #endif // LIBGLESV2_FENCE_H_ 44