globjects  1.0.0.000000000000
Strict OpenGL objects wrapper.
Sync.h
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include <glbinding/gl/types.h>
5 
7 
8 #include <globjects/globjects_api.h>
9 
10 
11 namespace globjects
12 {
13 
14 
15 class GLOBJECTS_API Sync : public Referenced
16 {
17  friend class AbstractObjectNameImplementation;
18 
19 public:
20  static Sync * fence(gl::GLenum condition);
21 
22  virtual ~Sync();
23 
24  gl::GLenum clientWait(gl::SyncObjectMask flags, gl::GLuint64 timeout);
25  void wait(gl::GLuint64 timeout);
26 
27  void get(gl::GLenum pname, gl::GLsizei bufsize, gl::GLsizei * length, gl::GLint * values);
28  gl::GLint get(gl::GLenum pname);
29 
30  gl::GLsync sync() const;
31 
32 protected:
33  Sync(gl::GLsync sync);
34 
35  void wait(gl::UnusedMask flags, gl::GLuint64 timeout);
36 
37  static gl::GLsync fenceSync(gl::GLenum condition, gl::UnusedMask flags);
38  static Sync * fence(gl::GLenum condition, gl::UnusedMask flags);
39 
40 protected:
41  gl::GLsync m_sync;
42  mutable void * m_objectLabelState;
43 };
44 
45 
46 } // namespace globjects
Contains all the classes that wrap OpenGL functionality.
void * m_objectLabelState
Definition: Sync.h:42
gl::GLsync m_sync
Definition: Sync.h:41
Superclass for all classes that use reference counting in globjects.
Definition: Referenced.h:22
Definition: Sync.h:15