| 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
6 #include <globjects/base/Referenced.h>
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
Referenced.h
globjects
Contains all the classes that wrap OpenGL functionality.
globjects::Sync
Definition: Sync.h:15
globjects::Sync::m_objectLabelState
void * m_objectLabelState
Definition: Sync.h:42
globjects::Sync::m_sync
gl::GLsync m_sync
Definition: Sync.h:41
globjects::Referenced
Superclass for all classes that use reference counting in globjects.
Definition: Referenced.h:22