moGL  travis-test-3
Modern OpenGL wrapper, thin C++14 header-only layer on top of the OpenGL 4.5+ core spec
object/fence.hpp
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Defines