1 // 2 // Copyright 2015 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 // FenceNVImpl.h: Defines the rx::FenceNVImpl class. 8 9 #ifndef LIBANGLE_RENDERER_FENCENVIMPL_H_ 10 #define LIBANGLE_RENDERER_FENCENVIMPL_H_ 11 12 #include "libANGLE/Error.h" 13 14 #include "common/angleutils.h" 15 16 #include "angle_gl.h" 17 18 namespace gl 19 { 20 class Context; 21 } // namespace gl 22 23 namespace rx 24 { 25 class FenceNVImpl : angle::NonCopyable 26 { 27 public: FenceNVImpl()28 FenceNVImpl() {} ~FenceNVImpl()29 virtual ~FenceNVImpl() {} 30 31 virtual void onDestroy(const gl::Context *context) = 0; 32 virtual angle::Result set(const gl::Context *context, GLenum condition) = 0; 33 virtual angle::Result test(const gl::Context *context, GLboolean *outFinished) = 0; 34 virtual angle::Result finish(const gl::Context *context) = 0; 35 }; 36 } // namespace rx 37 38 #endif // LIBANGLE_RENDERER_FENCENVIMPL_H_ 39