12b57e84e6
For each link given as http://, verify that the site is accessible over https:// and, if so, switch to it. These domains were converted: * llvm.org * clang.llvm.org * en.cppreference.com * www.dxx-rebirth.com * www.libsdl.org * www.scons.org
46 lines
913 B
C++
46 lines
913 B
C++
/*
|
|
* This file is part of the DXX-Rebirth project <https://www.dxx-rebirth.com/>.
|
|
* It is copyright by its individual contributors, as recorded in the
|
|
* project's Git history. See COPYING.txt at the top level for license
|
|
* terms and a link to the Git history.
|
|
*/
|
|
|
|
/* OpenGL Synchronization code:
|
|
* either use fence sync objects or glFinish() to prevent the GPU from
|
|
* lagging behind too much.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <memory>
|
|
#include "maths.h"
|
|
#include "args.h"
|
|
#include "ogl_extensions.h"
|
|
|
|
namespace dcx {
|
|
|
|
#if DXX_USE_OGL
|
|
class ogl_sync {
|
|
class sync_deleter
|
|
{
|
|
public:
|
|
typedef GLsync pointer;
|
|
void operator()(pointer p) const;
|
|
};
|
|
private:
|
|
SyncGLMethod method;
|
|
fix wait_timeout;
|
|
std::unique_ptr<GLsync, sync_deleter> fence;
|
|
public:
|
|
ogl_sync();
|
|
~ogl_sync();
|
|
|
|
void before_swap();
|
|
void after_swap();
|
|
void init(SyncGLMethod sync_method, int wait);
|
|
void deinit();
|
|
};
|
|
#endif
|
|
|
|
}
|