1 // 2 // Copyright (c) 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 // SyncImpl.h: Defines the rx::SyncImpl class. 8 9 #ifndef LIBANGLE_RENDERER_FENCESYNCIMPL_H_ 10 #define LIBANGLE_RENDERER_FENCESYNCIMPL_H_ 11 12 #include "libANGLE/Error.h" 13 14 #include "common/angleutils.h" 15 16 #include "angle_gl.h" 17 18 namespace rx 19 { 20 21 class SyncImpl : angle::NonCopyable 22 { 23 public: SyncImpl()24 SyncImpl(){}; ~SyncImpl()25 virtual ~SyncImpl(){}; 26 27 virtual gl::Error set(GLenum condition, GLbitfield flags) = 0; 28 virtual gl::Error clientWait(GLbitfield flags, GLuint64 timeout, GLenum *outResult) = 0; 29 virtual gl::Error serverWait(GLbitfield flags, GLuint64 timeout) = 0; 30 virtual gl::Error getStatus(GLint *outResult) = 0; 31 }; 32 } 33 34 #endif // LIBANGLE_RENDERER_FENCESYNCIMPL_H_ 35