#include
<oglplus/sync.hpp>
class Sync { public: struct Property { typedef SyncCondition Condition; typedef SyncType Type; typedef SyncStatus Status; typedef SyncWaitResult WaitResult; }; Sync(const Sync&) = delete; Sync(Sync&&); Sync(SyncCondition condition = SyncCondition::GPUCommandsComplete); bool Signaled(void) const; SyncType Type(void) const; SyncCondition Condition(void) const; SyncStatus Status(void) const; SyncWaitResult ClientWait(GLuint64 timeout) const; void Wait(GLuint64 timeout) const; void Wait(void) const; };
Creates a new sync object for the specified |
|
Returns |
|
Returns the type of this |
|
Returns the condition of this |
|
Returns the status of this |
|
Wait the specified number of nanoseconds or for the condition to be
satisfied. See |
|
Wait the specified number of nanoseconds or for the condition to be
satisfied. See |
|
Wait indefinitely for the condition to be satisfied. See |
enum class SyncCondition : GLenum { GPUCommandsComplete = GL_SYNC_GPU_COMMANDS_COMPLETE }; template <> Range<SyncCondition> EnumValueRange<SyncCondition>(void); StrCRef EnumValueName(SyncCondition);
enum class SyncType : GLenum { Fence = GL_SYNC_FENCE }; template <> Range<SyncType> EnumValueRange<SyncType>(void); StrCRef EnumValueName(SyncType);
enum class SyncStatus : GLenum { Signaled = GL_SIGNALED, Unsignaled = GL_UNSIGNALED }; template <> Range<SyncStatus> EnumValueRange<SyncStatus>(void); StrCRef EnumValueName(SyncStatus);
enum class SyncWaitResult : GLenum { ConditionSatisfied = GL_CONDITION_SATISFIED, AlreadySignaled = GL_ALREADY_SIGNALED, TimeoutExpired = GL_TIMEOUT_EXPIRED, WaitFailed = GL_WAIT_FAILED }; template <> Range<SyncWaitResult> EnumValueRange<SyncWaitResult>(void); StrCRef EnumValueName(SyncWaitResult);