moGL
travis-test-3
Modern OpenGL wrapper, thin C++14 header-only layer on top of the OpenGL 4.5+ core spec
|
00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 #ifndef MOGL_FENCE_INCLUDED 00013 #define MOGL_FENCE_INCLUDED 00014 00015 #include <mogl/object/handle.hpp> 00016 00017 namespace mogl 00018 { 00019 class Fence : public Handle<GLsync> 00020 { 00021 public: 00022 Fence(GLenum condition, GLbitfield flags = 0); 00023 ~Fence(); 00024 00025 Fence(const Fence& other) = delete; 00026 Fence& operator=(const Fence& other) = delete; 00027 00028 Fence(Fence&& other) = default; 00029 00030 public: 00031 void waitSync(GLbitfield flags, GLuint64 timeout = 0); 00032 GLenum waitClientSync(GLbitfield flags, GLuint64 timeout = 0); 00033 bool isHandleValid() const override final; 00034 }; 00035 } 00036 00037 #include "fence.inl" 00038 00039 #endif // MOGL_FENCE_INCLUDED